• Stars
    star
    391
  • Rank 110,003 (Top 3 %)
  • Language
    C++
  • License
    Other
  • Created about 13 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Platform-independent Qt API for storing passwords securely.

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.