Fork of qtkeychain with some fixes for Universal Focus Remote.
  • C++ 65.5%
  • CMake 26%
  • Objective-C++ 5.2%
  • QMake 1.7%
  • QML 1.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Apollo Nargang 9e65d6202d
Some checks failed
Build / build (clang, macos-latest, qt5) (push) Has been cancelled
Build / build (clang, macos-latest, qt6) (push) Has been cancelled
Build / build (clang, ubuntu-latest, qt5) (push) Has been cancelled
Build / build (clang, ubuntu-latest, qt6) (push) Has been cancelled
Build / build (gcc, ubuntu-latest, qt5) (push) Has been cancelled
Build / build (gcc, ubuntu-latest, qt6) (push) Has been cancelled
Build / build (gcc, windows-latest, qt5) (push) Has been cancelled
Build / build (gcc, windows-latest, qt6) (push) Has been cancelled
Build / build (msvc, windows-latest, qt5) (push) Has been cancelled
Build / build (msvc, windows-latest, qt6) (push) Has been cancelled
Build / build-android (push) Has been cancelled
Build / build-ios (push) Has been cancelled
Build / build-wasm (push) Has been cancelled
Update translation files
For some reason Qt modifies all of these when I build so I'm just gonna
commit the new versions.
2026-10-13 14:13:20 -04:00
.github/workflows CI: Merge wasm build with the rest 2026-07-06 11:51:54 +01:00
autotest CMake: Make Qt 6 the default 2026-05-07 17:43:04 +02:00
cmake/Modules CMake: Make Qt 6 the default 2026-05-07 17:43:04 +02:00
qtkeychain windows: Fix error reported for missing credentials 2026-10-08 13:18:14 +02:00
TestAppExample CMake: Make Qt 6 the default 2026-05-07 17:43:04 +02:00
translations Update translation files 2026-10-13 14:13:20 -04:00
.clang-format Use clang-format 2025-02-04 23:10:05 +01:00
.gitignore .gitignore ignore compile_commands.json 2023-01-30 21:16:54 +00:00
ChangeLog Prepare 0.17.0 release 2026-07-06 11:51:54 +01:00
CMakeLists.txt Bump version to 0.17.99 2026-07-06 11:53:44 +01:00
COPYING Fix license file 2021-01-18 09:10:24 +01:00
qtkeychain.pri qmake: fix build error in windows 2026-01-06 15:09:19 +01:00
QtKeychainConfig.cmake.in Fix build with emscripten 2026-01-06 14:43:58 +01:00
ReadMe.md add WebAssembly support via HTML bridge form 2026-04-29 22:13:24 +02:00
testclient.cpp Modernize connects 2025-02-04 23:10:05 +01:00

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.

  • WebAssembly: Passwords are managed using a transient HTML bridge form, enabling the browser's native password manager (auto-fill and "Save Password" prompts) and the Credential Management API (navigator.credentials).

  • 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.