64 mutable std::mutex mutex_;
65 std::map<Database::Kdf, Factory> factories_;
Represents a KeePass (KDB/KDBX) database.
Definition database.hh:74
Kdf
Key derivation functions supported by the importer/exporter.
Definition database.hh:80
Process-wide registry for key-derivation functions.
Definition kdf_registry.hh:42
void Register(Database::Kdf kdf, Factory factory)
Registers/overwrites the factory for a KDF id.
static KdfRegistry & Instance()
Returns the process-wide registry.
bool Contains(Database::Kdf kdf) const
Returns whether a factory is registered for kdf.
std::function< SecureBuffer< 32 >(const Key &, const Database &, Key::SubKeyResolution)> Factory
Derives the transformed 32-byte key.
Definition kdf_registry.hh:46
SecureBuffer< 32 > Transform(Database::Kdf kdf, const Key &key, const Database &db, Key::SubKeyResolution resolution) const
Derives the transformed key, or throws UnsupportedFeatureError.
Manages database encryption keys for KDB and KDBX formats.
Definition key.hh:45
SubKeyResolution
Definition key.hh:59
Fixed-size byte buffer that is zeroized on destruction.
Definition secure.hh:79
In-memory representation of a KeePass database.
Visibility/export macro for the shared library.
#define LIBKEEPASS_API
Marks a class, function or variable as part of the public ABI.
Definition export.hh:43
Database encryption key management for KDB and KDBX formats.
Secure memory handling: zeroization, locked allocations and sensitive value containers.