Cross-platform OS keyring access for C#/.NET based on keychain by hrantzsch. All calls are potentially blocking, as the OS may ask the user to grant access or unlock the keychain.
Keyring.SetPassword("com.example.test", "TestService", "user", "password");
try {
var password = Keyring.GetPassword("com.example.test", "TestService", "user");
} catch (KeyringException ex) // Thrown if password was not saved
// handle
}
Keyring.DeletePassword("com.example.test", "TestService", "user");
The precompiled shared libraries in this repository are based on the code in the native
folder, wrapping the keychain library by hrantzsch.
Platform | Compiler |
---|---|
win-x64 | Visual C++ 2022 (Keychain library doesn't support mingw-w64 at the moment, TBD) |
linux-x64 | GCC 11.2.0(x86_64-pc-linux-gnu) |
osx-x64 | AppleClang 13.0.0.13000029 (universal), macOS 10.11+ |
osx-arm64 | AppleClang 13.0.0.13000029 (universal), macOS 10.11+, take care: you need to sign your binaries to run on m1! |