SignOn::AbstractCryptoManager Class
Manages the credentials storage file system encryption. More...
- Header:
#include <SignOn/AbstractCryptoManager> - Inherits: QObject
List of all members, including inherited members
Public Functions
- AbstractCryptoManager(QObject *parent = 0)
- ~AbstractCryptoManager()
- bool addEncryptionKey(const SignOn::Key &key, const SignOn::Key &existingKey)
- QStringList backupFiles() const
- bool deleteFileSystem()
- SignOn::Key encryptionKey() const
- bool encryptionKeyInUse(const SignOn::Key &key)
- bool fileSystemIsMounted() const
- bool fileSystemIsSetup() const
- QString fileSystemMountPath() const
- bool initialize(const QVariantMap &configuration)
- bool mountFileSystem()
- bool removeEncryptionKey(const SignOn::Key &key, const SignOn::Key &remainingKey)
- void setEncryptionKey(const SignOn::Key &key)
- bool setupFileSystem()
- bool unmountFileSystem()
Signals
Protected Functions
Detailed Description
The API is modeled after a LUKS-based implementation.
Member Function Documentation
[explicit] AbstractCryptoManager::AbstractCryptoManager(QObject *parent = 0)
Constructs a AbstractCryptoManager object with the given parent.
[virtual noexcept] AbstractCryptoManager::~AbstractCryptoManager()
Destructor.
[virtual] bool AbstractCryptoManager::addEncryptionKey(const SignOn::Key &key, const SignOn::Key &existingKey)
Adds the encryption key to one of the available keyslots of the LUKS partition's header; existingKey is an already existing key.
Returns true if succeeded, false otherwise.
See also encryptionKeyInUse()
[virtual] QStringList AbstractCryptoManager::backupFiles() const
Returns the list of files which need to be backed up.
[virtual] bool AbstractCryptoManager::deleteFileSystem()
Deletes the encrypted file system. Returns true if successful, false otherwise.
Warning: Use this carefully, this will lead to data loss.
SignOn::Key AbstractCryptoManager::encryptionKey() const
Returns the encryption key in use.
See also setEncryptionKey()
[virtual] bool AbstractCryptoManager::encryptionKeyInUse(const SignOn::Key &key)
Returns whether key is occupying a keyslot in the encrypted file system.
Note: If the file system is not mounted and the encryption key can access it, this method will cause the file system to be mounted.
bool AbstractCryptoManager::fileSystemIsMounted() const
Returns true if the file system is mounted, false otherwise.
bool AbstractCryptoManager::fileSystemIsSetup() const
Returns true if the file system is setup, false otherwise.
[virtual] QString AbstractCryptoManager::fileSystemMountPath() const
Returns the path of the mounted file system.
[signal] void AbstractCryptoManager::fileSystemMounted()
The encrypted file system was mounted.
See also setFileSystemMounted()
[signal] void AbstractCryptoManager::fileSystemUnmounting()
The encrypted file system is about to be unmounted.
[virtual] bool AbstractCryptoManager::initialize(const QVariantMap &configuration)
* Initializes the object with the given configuration, a dictionary of * configuration options, dependent on the specific crypto-manager * implementation. * * Returns true if the configuration is valid.
[virtual] bool AbstractCryptoManager::mountFileSystem()
Mounts the encrypted file system. Returns true if successful, false otherwise.
[virtual] bool AbstractCryptoManager::removeEncryptionKey(const SignOn::Key &key, const SignOn::Key &remainingKey)
* Releases the keyslot key uses in the LUKS partition's header; * remainingKey is another valid key. * *
Note: The system cannot remain keyless. * * Returns true if succeeded, false otherwise.
void AbstractCryptoManager::setEncryptionKey(const SignOn::Key &key)
Sets the encryption key to key, the encrypted file system key.
See also encryptionKey()
[protected] void AbstractCryptoManager::setFileSystemMounted(bool isMounted)
Implementations record whether the file system isMounted.
See also fileSystemMounted()
[protected] void AbstractCryptoManager::setFileSystemSetup(bool isSetup)
Implementations record whether the file system isSetup.
[virtual] bool AbstractCryptoManager::setupFileSystem()
Sets up an encrypted file system. This method is to be called only at the file system creation/formatting. Use mountFileSystem() on subsequent uses. This method handles also the mounting so when using it, a call to mountFileSystem() is not necessary.
Returns true if successful, false otherwise.
Warning: This method might format the credentials file system, use carefully.
[virtual] bool AbstractCryptoManager::unmountFileSystem()
Unmounts the encrypted file system. Returns true if successful, false otherwise.