Alexander Gorishnyak c339cd6463 Migrate from qmake to CMake 3 years ago
..
cmake c339cd6463 Migrate from qmake to CMake 3 years ago
.gitignore c339cd6463 Migrate from qmake to CMake 3 years ago
CMakeLists.txt c339cd6463 Migrate from qmake to CMake 3 years ago
COPYING c339cd6463 Migrate from qmake to CMake 3 years ago
QtKeychainConfig.cmake.in c339cd6463 Migrate from qmake to CMake 3 years ago
ReadMe.md c339cd6463 Migrate from qmake to CMake 3 years ago
gnomekeyring.cpp c339cd6463 Migrate from qmake to CMake 3 years ago
gnomekeyring_p.h c339cd6463 Migrate from qmake to CMake 3 years ago
keychain.cpp c339cd6463 Migrate from qmake to CMake 3 years ago
keychain.h c339cd6463 Migrate from qmake to CMake 3 years ago
keychain_apple.mm c339cd6463 Migrate from qmake to CMake 3 years ago
keychain_p.h c339cd6463 Migrate from qmake to CMake 3 years ago
keychain_unix.cpp c339cd6463 Migrate from qmake to CMake 3 years ago
keychain_win.cpp c339cd6463 Migrate from qmake to CMake 3 years ago
libsecret.cpp c339cd6463 Migrate from qmake to CMake 3 years ago
libsecret_p.h c339cd6463 Migrate from qmake to CMake 3 years ago
org.kde.KWallet.xml c339cd6463 Migrate from qmake to CMake 3 years ago
plaintextstore.cpp c339cd6463 Migrate from qmake to CMake 3 years ago
plaintextstore_p.h c339cd6463 Migrate from qmake to CMake 3 years ago

ReadMe.md

QtKeychain

QtKeychain is a Qt API to store passwords and other secret data securely. How the data is stored depends on the platform:

  • macOS: Passwords are stored in the macOS Keychain.

  • Linux/Unix: If running, GNOME Keyring is used, otherwise QtKeychain tries to use KWallet (via D-Bus), if available. Libsecret (common API for desktop-specific solutions) is also supported.

  • Windows: By default, the Windows Credential Store is used (requires Windows 7 or newer). Pass -DUSE_CREDENTIAL_STORE=OFF to cmake to disable it. If disabled, QtKeychain uses the Windows API function CryptProtectData to encrypt the password with the user's logon credentials. The encrypted data is then persisted via QSettings.

  • Android and iOS: Passwords are stored in the Android keystore system and iOS keychain, respectively.

In unsupported environments QtKeychain will report an error. It will not store any data unencrypted unless explicitly requested (setInsecureFallback( true )).

Requirements

QtKeychain 0.12 and newer supports Qt 5 and Qt 6 and requires a compiler with C++11 support. Older versions support Qt 4 and Qt 5.

License

QtKeychain is available under the Modified BSD License. See the file COPYING for details.