in Notation.Plugin.AzureKeyVault/KeyVault/KeyVaultClient.cs [63:92]
public KeyVaultClient(string keyVaultUrl, string name, string? version, TokenCredential credential)
{
if (string.IsNullOrEmpty(keyVaultUrl))
{
throw new ValidationException("Key vault URL must not be null or empty");
}
if (string.IsNullOrEmpty(name))
{
throw new ValidationException("Key name must not be null or empty");
}
if (version != null && version == string.Empty)
{
throw new ValidationException("Key version must not be empty");
}
_name = name;
_version = version;
_keyId = $"{keyVaultUrl}/keys/{name}";
if (version != null)
{
_keyId = $"{_keyId}/{version}";
}
// initialize credential and lazy clients
_certificateClient = new Lazy<CertificateClient>(() => new CertificateClient(new Uri(keyVaultUrl), credential));
_cryptoClient = new Lazy<CryptographyClient>(() => new CryptographyClient(new Uri(_keyId), credential));
_secretClient = new Lazy<SecretClient>(() => new SecretClient(new Uri(keyVaultUrl), credential));
}