goaaats / KeySharp

Cross-platform C#/.NET keyring access

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KeySharp Nuget

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.

Example

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");

Native libraries

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!

About

Cross-platform C#/.NET keyring access

License:MIT License


Languages

Language:C# 56.4%Language:CMake 22.2%Language:C++ 14.5%Language:C 6.9%