/// <summary> /// Initializes a new instance of the <see cref="KeyVaultAccessClient"/> class. /// </summary> /// <param name="keyVaultTokenCredentialFactory"> TokenCredentials </param> public KeyVaultAccessClient(KeyVaultTokenCredentialFactory keyVaultTokenCredentialFactory) { this.keyVaultTokenCredentialFactory = keyVaultTokenCredentialFactory; this.akvClientCache = new AsyncCache <Uri, KeyClient>(); this.akvCryptoClientCache = new AsyncCache <Uri, CryptographyClient>(); this.keyClientFactory = new KeyClientFactory(); this.cryptographyClientFactory = new CryptographyClientFactory(); }
/// <summary> /// Initializes a new instance of the <see cref="KeyVaultAccessClient"/> class. /// Invokes internal Facotory Methods. /// </summary> /// <param name="keyVaultTokenCredentialFactory"> TokenCredential </param> /// <param name="keyClientFactory"> KeyClient Factory </param> /// <param name="cryptographyClientFactory"> CryptoClient Factory </param> internal KeyVaultAccessClient(KeyVaultTokenCredentialFactory keyVaultTokenCredentialFactory, KeyClientFactory keyClientFactory, CryptographyClientFactory cryptographyClientFactory) { this.keyVaultTokenCredentialFactory = keyVaultTokenCredentialFactory; this.akvClientCache = new AsyncCache <Uri, KeyClient>(); this.akvCryptoClientCache = new AsyncCache <Uri, CryptographyClient>(); this.keyClientFactory = keyClientFactory; this.cryptographyClientFactory = cryptographyClientFactory; }
/// <summary> /// Creates a new instance of a provider to wrap (encrypt) and unwrap (decrypt) data encryption keys using master keys stored in Azure Key Vault. /// </summary> /// <param name="keyVaultTokenCredentialFactory"> KeyVaultTokenCredentialFactory instance </param> /// <param name="keyClientFactory"> KeyClient Factory Methods </param> /// <param name="cryptographyClientFactory"> CryptographyClient Factory Methods </param> internal AzureKeyVaultKeyWrapProvider(KeyVaultTokenCredentialFactory keyVaultTokenCredentialFactory, KeyClientFactory keyClientFactory, CryptographyClientFactory cryptographyClientFactory) { this.keyVaultAccessClient = new KeyVaultAccessClient(keyVaultTokenCredentialFactory, keyClientFactory, cryptographyClientFactory); this.rawDekCacheTimeToLive = TimeSpan.FromHours(1); }