Platform-independent Qt API for storing passwords securely.
Clone or download
Latest commit 8413387 Aug 19, 2018
Failed to load latest commit information.
cmake/Modules Generate pri file using exta-cmake-modules Dec 6, 2016
translations Initial Mandarin (Taiwan) translation Aug 1, 2018
.gitignore Enabled static builds on Windows. Apr 6, 2016
CMakeLists.txt Bump version for master to 0.9.90 Jul 13, 2018
COPYING Initial OS X impl. Oct 28, 2011
ChangeLog Update changelog for 0.9.1 Aug 20, 2018 Use extra-cmake-modules to generate config files Dec 6, 2016
ReadMe.markdown Add readme May 8, 2012
ReadMe.txt Update changelog and ReadMe Mar 17, 2016
appveyor.yml Add appveyor ci support Aug 5, 2016
appveyorHelp.psm1 Add appveyor ci support Aug 5, 2016
gnomekeyring.cpp Build fixes for disabled implicit string casts Aug 12, 2016
gnomekeyring_p.h Add missing Q_OBJECT macro Aug 12, 2016
keychain.cpp Fix initialization Oct 31, 2016
keychain.h Reintroduce minimal qmake support Nov 16, 2016 Fix typo Nov 17, 2016
keychain_mac.cpp Whitespace fix Jul 28, 2016
keychain_p.h Fix initialization Oct 31, 2016
keychain_unix.cpp Backends: Adjust test order and fallbacks Jun 25, 2018
keychain_win.cpp Windows Credential Store: Use CRED_PERSIST_ENTERPRISE Aug 20, 2018
libsecret.cpp Secret: Don't match the schema name #114 Aug 20, 2018
libsecret_p.h Added libsecret implementation. Oct 31, 2016
org.kde.KWallet.xml Start DBus-based KWAllet backend May 7, 2012
plaintextstore.cpp Extract PlainTextStore Aug 12, 2016
plaintextstore_p.h Extract PlainTextStore Aug 12, 2016
qt5keychain.pri Fix qmake build on Windows Aug 17, 2018
testclient.cpp Added binary / text mode password support. Jan 12, 2016



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

  • Mac OS X: Passwords are stored in the OS X Keychain.

  • Linux/Unix: If running, GNOME Keyring is used, otherwise qtkeychain tries to use KWallet (via D-Bus), if available.

  • Windows: By default, the Windows Credential Store is used (requires Windows 7 or newer). Pass -DUSE_CREDENTIAL_STORE=OFF to cmake use 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.

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

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