iTrooz.FreeDesktopSecrets
1.0.1
dotnet add package iTrooz.FreeDesktopSecrets --version 1.0.1
NuGet\Install-Package iTrooz.FreeDesktopSecrets -Version 1.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="iTrooz.FreeDesktopSecrets" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add iTrooz.FreeDesktopSecrets --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: iTrooz.FreeDesktopSecrets, 1.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install iTrooz.FreeDesktopSecrets as a Cake Addin #addin nuget:?package=iTrooz.FreeDesktopSecrets&version=1.0.1 // Install iTrooz.FreeDesktopSecrets as a Cake Tool #tool nuget:?package=iTrooz.FreeDesktopSecrets&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
FreeDesktopSecrets-CS
Client library in C# to use the Freedesktop Secrets API
What ?
The Freedesktop Secrets API is a standard for storing secrets (passwords, keys, etc.) in a secure way on a Linux system. It is implemented over dbus, which is a message bus system that allows communication between applications. This library is a C# client to use this API.
Install
Run
dotnet add package iTrooz.FreeDesktopSecrets
in your project directory to install the library.
Usage
Sample usage of this library:
var storage = FreeDesktopSecretsClient.FromSession(); // use the classic dbus session bus
await storage.ConnectAsync("TestApplication"); // Use this name for the API "folder" that will hold secrets
var itemKeys = await storage.ListItemKeysAsync(); // List keys of all secrets stored
foreach (var item in itemKeys)
Console.WriteLine(item);
await storage.CreateItemAsync(
"TestItem",
System.Text.Encoding.UTF8.GetBytes("TestString"),
true); // Store a secret
var secret = await storage.GetItemAsync("TestItem"); // Retrieve it
Console.WriteLine(System.Text.Encoding.UTF8.GetString(secret!)); // "TestString"
await storage.DeleteItemAsync("TestItem"); // Delete the secret
Links
- Thanks to tmds for his dbus library
- Inspiration: https://github.com/mitya57/FreeDesktopSecrets
- Freedesktop Secrets API Specification: https://specifications.freedesktop.org/secret-service-spec/latest-single/
Licence
LGPL-2.1 OR LGPL-3.0-or-later with proxy clause (proxy being me, iTrooz)
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Microsoft.Extensions.Logging (>= 8.0.1)
- Microsoft.Extensions.Logging.Console (>= 8.0.1)
- Tmds.DBus (>= 0.21.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.