Platform-independent Qt API for storing passwords securely.
C++ CMake PowerShell Objective-C++ QMake
Latest commit 10b2a2b Dec 13, 2016 @frankosterfeld committed on GitHub Merge pull request #97 from TheOneRing/export
Use ECMPackageConfigHelpers to properly generate export target.
Permalink
Failed to load latest commit information.
cmake/Modules Generate pri file using exta-cmake-modules Dec 6, 2016
translations Updated translation files Aug 17, 2014
.gitignore Enabled static builds on Windows. Apr 6, 2016
CMakeLists.txt Generate pri file using exta-cmake-modules Dec 6, 2016
COPYING Initial OS X impl. Oct 28, 2011
ChangeLog Update ChangeLog May 23, 2016
QtKeychainConfig.cmake.in 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
keychain_ios.mm Fix typo Nov 17, 2016
keychain_mac.cpp Whitespace fix Jul 28, 2016
keychain_p.h Fix initialization Oct 31, 2016
keychain_unix.cpp Added libsecret support. Oct 31, 2016
keychain_win.cpp Extract PlainTextStore Aug 12, 2016
libsecret.cpp Fix build when disabling libsecret Oct 31, 2016
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 Reintroduce minimal qmake support Nov 16, 2016
testclient.cpp Added binary / text mode password support. Jan 12, 2016

ReadMe.markdown

QtKeychain

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.