An interface for a generic keystore to securely store secret cryptographic keys.
More...
|
| KeyStore (const Defaults &defaults, QObject *parent=nullptr) |
| Default constructor for a specific setup.
|
|
QString | setupName () const |
| Returns the name of the setup this class operates on. More...
|
|
virtual QString | providerName () const =0 |
| Returns the provider type the keystore is of. More...
|
|
virtual bool | isOpen () const =0 |
| Checks if the store is currently open. More...
|
|
virtual void | openStore ()=0 |
| Opens the store so the library can access it. More...
|
|
virtual void | closeStore ()=0 |
| Closes the connection to the store. More...
|
|
virtual bool | contains (const QString &key) const =0 |
| Checks if a key already exists in the store. More...
|
|
virtual void | save (const QString &key, const QByteArray &pKey)=0 |
| Saves a secret key with the given identifier in the store. More...
|
|
virtual QByteArray | load (const QString &key)=0 |
| Loads a previously saved key for the given identifier from the store. More...
|
|
virtual void | remove (const QString &key)=0 |
| Removes the key for the given identifier from the store permanently. More...
|
|
virtual const QMetaObject * | metaObject () const const |
|
virtual void * | qt_metacast (const char *) |
|
virtual int | qt_metacall (QMetaObject::Call, int, void **) |
|
| QObject (QObject *parent) |
|
virtual bool | event (QEvent *e) |
|
virtual bool | eventFilter (QObject *watched, QEvent *event) |
|
QString | objectName () const const |
|
void | setObjectName (const QString &name) |
|
bool | isWidgetType () const const |
|
bool | isWindowType () const const |
|
bool | signalsBlocked () const const |
|
bool | blockSignals (bool block) |
|
QThread * | thread () const const |
|
void | moveToThread (QThread *targetThread) |
|
int | startTimer (int interval, Qt::TimerType timerType) |
|
int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType) |
|
void | killTimer (int id) |
|
T | findChild (const QString &name, Qt::FindChildOptions options) const const |
|
QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
|
QList< T > | findChildren (const QRegExp ®Exp, Qt::FindChildOptions options) const const |
|
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
|
const QObjectList & | children () const const |
|
void | setParent (QObject *parent) |
|
void | installEventFilter (QObject *filterObj) |
|
void | removeEventFilter (QObject *obj) |
|
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
|
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
|
bool | disconnect (const QObject *receiver, const char *method) const const |
|
void | dumpObjectTree () |
|
void | dumpObjectInfo () |
|
void | dumpObjectTree () const const |
|
void | dumpObjectInfo () const const |
|
bool | setProperty (const char *name, const QVariant &value) |
|
QVariant | property (const char *name) const const |
|
QList< QByteArray > | dynamicPropertyNames () const const |
|
void | destroyed (QObject *obj) |
|
void | objectNameChanged (const QString &objectName) |
|
QObject * | parent () const const |
|
bool | inherits (const char *className) const const |
|
void | deleteLater () |
|
|
QString | tr (const char *sourceText, const char *disambiguation, int n) |
|
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
|
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
|
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
|
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
|
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
|
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
|
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
|
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
|
bool | disconnect (const QMetaObject::Connection &connection) |
|
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
|
| objectName |
|
An interface for a generic keystore to securely store secret cryptographic keys.
The datasync library makes use of keystores to securely store secret encryption keys. Since there are many different stores on all platforms, the stores are provided via plugins. If you want to create your own store, you can create a custom KeyStorePlugin and implement this class to give the library access to the keystore.
The following keystores are already support via a plugin that is part of the Library:
- KWallet (KDE only)
- SecretService (based on the gnome library, works with any keystore that implements it. Currently known:)
- Windows Credentials store (Desktop windows only)
- Android Shared Preferences (Not completly secure, Android only)
- Apple Keychain (macOs and iOs only)
- Plain (An unsecure fallback implementation that works on any platform)
- Note
- All methods must be synchronous. The keystore is only used from within an extra thread, and thus will not block the UI. It is save to wait for asynchronos operations within your methods
- See also
- KeyStorePlugin
Definition at line 37 of file keystore.h.