Sander.KeyVaultCache 1.0.0

As secrets and certificates change very rarely, it makes sense to cache them, as fetching is a relatively slow operation - if the Key Vault is in the same data center, it takes 100...300ms, but fetching value from geographically distant Azure data center can take a second or even more. With the caching, getting the value becomes sub-millisecond operation.

KeyVaultCache simplifies the fetching and caching of the values from Key Vault. It is fully thread-safe, has on-demand re-fetching and supports cache expiration (entries expire after specified time).

There is a newer version of this package available.
See the version list below for details.
Install-Package Sander.KeyVaultCache -Version 1.0.0
dotnet add package Sander.KeyVaultCache --version 1.0.0
<PackageReference Include="Sander.KeyVaultCache" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Sander.KeyVaultCache --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Introduction

KeyVaultCache is read-only cache as system-of-record pattern implementation for Azure Key Vault.

What this means in humanese is that KeyVaultCache takes care of fetching and caching of the values from the Azure Key Vault.

As secrets and certificates change very rarely, it makes sense to cache them, as fetching is a relatively slow operation - if the Key Vault is in the same data center, it takes 100...300ms, but fetching value from geographically distant Azure data center can take a second or even more. With the caching, getting the value becomes sub-millisecond operation.

KeyVaultCache simplifies the fetching and caching of the values from Key Vault. It is fully thread-safe, has on-demand re-fetching and supports cache expiration (entries expire after specified time).

Features

  • Easy to use
  • On-demand re-fetching of the values from Key Vault (for example, if accessing blob storage fails, first step would be to re-fetch the secret and try again)
  • Supports Key Vault secrets, certificates and keys
  • Methods to return either bundle (e.g. SecretBundle, CertificateBundle, KeyBundle) or values directly (string for secret, byte array for certificate, JsonWebKey (JWK) for key).
  • Optional cache expiration (absolute time - entries expire after specified time and will be re-fetched when requested).
  • Fully thread-safe (one thread can request re-fetch of the secret, other threads will wait until fetching completes and use the new value).
  • .NET Standard 2.0, meaning KeyVaultCache can be used with .NET Framework 4.6.1+, .NET Core 2.0 and more - see here for detailed information.

Introduction

KeyVaultCache is read-only cache as system-of-record pattern implementation for Azure Key Vault.

What this means in humanese is that KeyVaultCache takes care of fetching and caching of the values from the Azure Key Vault.

As secrets and certificates change very rarely, it makes sense to cache them, as fetching is a relatively slow operation - if the Key Vault is in the same data center, it takes 100...300ms, but fetching value from geographically distant Azure data center can take a second or even more. With the caching, getting the value becomes sub-millisecond operation.

KeyVaultCache simplifies the fetching and caching of the values from Key Vault. It is fully thread-safe, has on-demand re-fetching and supports cache expiration (entries expire after specified time).

Features

  • Easy to use
  • On-demand re-fetching of the values from Key Vault (for example, if accessing blob storage fails, first step would be to re-fetch the secret and try again)
  • Supports Key Vault secrets, certificates and keys
  • Methods to return either bundle (e.g. SecretBundle, CertificateBundle, KeyBundle) or values directly (string for secret, byte array for certificate, JsonWebKey (JWK) for key).
  • Optional cache expiration (absolute time - entries expire after specified time and will be re-fetched when requested).
  • Fully thread-safe (one thread can request re-fetch of the secret, other threads will wait until fetching completes and use the new value).
  • .NET Standard 2.0, meaning KeyVaultCache can be used with .NET Framework 4.6.1+, .NET Core 2.0 and more - see here for detailed information.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.1.0 260 9/17/2018
1.0.0 202 9/10/2018