Sailfish OS
  • Info
  • User Experience
  • Cases
  • Community
  • Developers
  • Contact
  • Get Sailfish OS
Select Page
  • Info
  • User Experience
  • Cases
  • Community
  • Developers
  • Contact
  • Get Sailfish OS

Sailfish Secrets

API Documentation
  • API Documentation
  • Libsailfishapp
  • Sailfish Silica
    • Documentation
    • Icon Reference
  • Sailfish Components
    • Sailfish Accounts
    • Sailfish Bluetooth
    • Sailfish Contacts
    • Sailfish Crypto
    • Sailfish Gallery
    • Sailfish Media
    • Sailfish Pickers
    • Sailfish Secrets
    • Sailfish Share
    • Sailfish Telephony
    • Sailfish Webview
    • Amber Web Authorization
    • Amber MPRIS
  • Nemo QML Plugins
    • Configuration
    • Contacts
    • D-Bus
    • Keepalive
    • Notifications
    • Thumbnailer
  • Sailfish Middleware
    • MDM Framework
    • MDM Policy Framework
    • User Manager Daemon
  • API Documentation
  • Libsailfishapp
  • Sailfish Silica
    • Documentation
    • Icon Reference
  • Sailfish Components
    • Sailfish Accounts
    • Sailfish Bluetooth
    • Sailfish Contacts
    • Sailfish Crypto
    • Sailfish Gallery
    • Sailfish Media
    • Sailfish Pickers
    • Sailfish Secrets
    • Sailfish Share
    • Sailfish Telephony
    • Sailfish Webview
    • Amber Web Authorization
    • Amber MPRIS
  • Nemo QML Plugins
    • Configuration
    • Contacts
    • D-Bus
    • Keepalive
    • Notifications
    • Thumbnailer
  • Sailfish Middleware
    • MDM Framework
    • MDM Policy Framework
    • User Manager Daemon

Contents

  • Properties
  • Public Functions
  • Reimplemented Public Functions
  • Signals
  • Detailed Description

PluginInfoRequest Class

(Sailfish::Secrets::PluginInfoRequest)

Allows a client request information about available storage, encryption and authentication plugins More...

Header: #include <Secrets/plugininforequest.h>
Inherits: Sailfish::Secrets::Request
  • List of all members, including inherited members

Properties

  • authenticationPlugins : const QVector<Sailfish::Secrets::PluginInfo>
  • encryptedStoragePlugins : const QVector<Sailfish::Secrets::PluginInfo>
  • encryptionPlugins : const QVector<Sailfish::Secrets::PluginInfo>
  • storagePlugins : const QVector<Sailfish::Secrets::PluginInfo>
  • 3 properties inherited from Sailfish::Secrets::Request

Public Functions

PluginInfoRequest(QObject *parent = Q_NULLPTR)
~PluginInfoRequest()
QVector<Sailfish::Secrets::PluginInfo> authenticationPlugins() const
QVector<Sailfish::Secrets::PluginInfo> encryptedStoragePlugins() const
QVector<Sailfish::Secrets::PluginInfo> encryptionPlugins() const
QVector<Sailfish::Secrets::PluginInfo> storagePlugins() const

Reimplemented Public Functions

virtual Sailfish::Secrets::SecretManager *manager() const
virtual Sailfish::Secrets::Result result() const
virtual void setManager(Sailfish::Secrets::SecretManager *manager)
virtual void startRequest()
virtual Sailfish::Secrets::Request::Status status() const
virtual void waitForFinished()
  • 6 public functions inherited from Sailfish::Secrets::Request

Signals

void authenticationPluginsChanged()
void encryptedStoragePluginsChanged()
void encryptionPluginsChanged()
void storagePluginsChanged()
  • 3 signals inherited from Sailfish::Secrets::Request

Detailed Description

Allows a client request information about available storage, encryption and authentication plugins

An example of retrieving information about available plugins follows:

 Sailfish::Secrets::SecretManager sm;
 Sailfish::Secrets::PluginInfoRequest pir;
 pir.setManager(&sm);
 pir.startRequest();
 // status() will change to Finished when complete
 // real clients should not use waitForFinished().
 pir.waitForFinished();
 for (const auto &plugin : pir.encryptedStoragePlugins()) {
     qDebug() << "Have encrypted storage plugin:" << plugin.name()
              << "with version:" << plugin.version();
 }

Property Documentation

authenticationPlugins : const QVector<Sailfish::Secrets::PluginInfo>

Access functions:

QVector<Sailfish::Secrets::PluginInfo> authenticationPlugins() const

Notifier signal:

void authenticationPluginsChanged()

encryptedStoragePlugins : const QVector<Sailfish::Secrets::PluginInfo>

Access functions:

QVector<Sailfish::Secrets::PluginInfo> encryptedStoragePlugins() const

Notifier signal:

void encryptedStoragePluginsChanged()

encryptionPlugins : const QVector<Sailfish::Secrets::PluginInfo>

Access functions:

QVector<Sailfish::Secrets::PluginInfo> encryptionPlugins() const

Notifier signal:

void encryptionPluginsChanged()

storagePlugins : const QVector<Sailfish::Secrets::PluginInfo>

Access functions:

QVector<Sailfish::Secrets::PluginInfo> storagePlugins() const

Notifier signal:

void storagePluginsChanged()

Member Function Documentation

PluginInfoRequest::PluginInfoRequest(QObject *parent = Q_NULLPTR)

Constructs a new PluginInfoRequest object with the given parent.

PluginInfoRequest::~PluginInfoRequest()

Destroys the PluginInfoRequest

QVector<Sailfish::Secrets::PluginInfo> PluginInfoRequest::authenticationPlugins() const

Returns information about available authentication plugins.

Authentication plugins provide UI flows which request the user to provide an authentication key (e.g. lock code, password, fingerprint, iris scan or voice recognition template) which can be used to generate an encryption or decryption key.

If your application intends to store only application-specific secrets, then when creating the collection or secret you can specify an authentication plugin which supports the ApplicationSpecificAuthentication authentication type, and register a InteractionView with the manager which will then be used to provide the UI interaction with the user, in-process. (Note that if you do not wish any UI interaction, the InteractionView implementation can return a precalculated key directly.)

Alternatively, other plugins provide various system-mediated UI flows which ensure that the integrity of the user's authentication data is maintained.

Note: Getter function for property authenticationPlugins.

QVector<Sailfish::Secrets::PluginInfo> PluginInfoRequest::encryptedStoragePlugins() const

Returns information about available encrypted storage plugins.

Encrypted storage plugins provide all-in-one encryption and storage for secrets. They generally use block-mode encryption algorithms such as AES256 to encrypt or decrypt entire pages of data when writing to or reading from a database, which makes them ideally suited to implement device-lock protected secret collection stores.

Note: Getter function for property encryptedStoragePlugins.

QVector<Sailfish::Secrets::PluginInfo> PluginInfoRequest::encryptionPlugins() const

Returns information about available encryption plugins.

Encryption plugins provide crypto operations for secrets. Different plugisn may be better for different use cases (e.g., some may be backed by a secure hardware peripheral, or a Trusted Execution Environment application, whereas others may simply run "normal" application code to perform cryptographic operations).

Note: Getter function for property encryptionPlugins.

[virtual] Sailfish::Secrets::SecretManager *PluginInfoRequest::manager() const

See also setManager().

[virtual] Sailfish::Secrets::Result PluginInfoRequest::result() const

[virtual] void PluginInfoRequest::setManager(Sailfish::Secrets::SecretManager *manager)

See also manager().

[virtual] void PluginInfoRequest::startRequest()

[virtual] Sailfish::Secrets::Request::Status PluginInfoRequest::status() const

QVector<Sailfish::Secrets::PluginInfo> PluginInfoRequest::storagePlugins() const

Returns information about available storage plugins.

Storage plugins provide storage for secrets. Different plugins may be better for different use cases (e.g., some may be backed by a secure hardware peripheral, or a Trusted Execution Environment application, whereas others may simply run "normal" application code to store data to an SQL database on the device's filesystem).

These storage plugins don't perform any encryption; the Secrets service will use a specific encryption plugin to perform encryption and decryption operations.

Note: Getter function for property storagePlugins.

[virtual] void PluginInfoRequest::waitForFinished()

  • Legal
  • Contact Us
  • Jollyboys Ltd © 2024

  • Facebook
  • Twitter
  • Mastodon
  • YouTube
  • LinkedIn