Skip to content

Platform-independent Qt API for storing passwords securely.

License

Notifications You must be signed in to change notification settings

Chatterino/qtkeychain

 
 

Repository files navigation

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.

About

Platform-independent Qt API for storing passwords securely.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 59.1%
  • CMake 26.5%
  • PowerShell 5.7%
  • Objective-C++ 5.1%
  • QML 1.8%
  • QMake 1.8%