public Secret SetSecret(string vaultName, string secretName, SecureString secretValue, SecretAttributes secretAttributes) { if (string.IsNullOrEmpty(vaultName)) throw new ArgumentNullException("vaultName"); if (string.IsNullOrEmpty(secretName)) throw new ArgumentNullException("secretName"); if (secretValue == null) throw new ArgumentNullException("secretValue"); if (secretAttributes == null) throw new ArgumentNullException("secretAttributes"); string value = secretValue.ConvertToString(); string vaultAddress = this.vaultUriHelper.CreateVaultAddress(vaultName); var attributes = (Azure.KeyVault.Models.SecretAttributes)secretAttributes; Azure.KeyVault.Models.SecretBundle secret; try { secret = this.keyVaultClient.SetSecretAsync(vaultAddress, secretName, value, secretAttributes.TagsDictionary, secretAttributes.ContentType, attributes).GetAwaiter().GetResult(); } catch (Exception ex) { throw GetInnerException(ex); } return new Secret(secret, this.vaultUriHelper); }
public IssuerBundle SetCertificateIssuer( string vaultName, string issuerName, string issuerProvider, string accountId, SecureString apiKey, KeyVaultCertificateOrganizationDetails organizationDetails) { if (string.IsNullOrEmpty(vaultName)) throw new ArgumentNullException("vaultName"); if (string.IsNullOrEmpty(issuerName)) throw new ArgumentNullException("issuerName"); if (string.IsNullOrEmpty(issuerProvider)) throw new ArgumentNullException("issuerProvider"); string vaultAddress = this.vaultUriHelper.CreateVaultAddress(vaultName); var issuer = new IssuerBundle { Provider = issuerProvider, OrganizationDetails = organizationDetails == null ? null : organizationDetails.ToOrganizationDetails(), }; if (!string.IsNullOrEmpty(accountId) || apiKey != null) { issuer.Credentials = new IssuerCredentials { AccountId = accountId, Password = apiKey == null ? null : apiKey.ConvertToString(), }; } IssuerBundle resultantIssuer; try { resultantIssuer = this.keyVaultClient.SetCertificateIssuerAsync( vaultAddress, issuerName, issuer.Provider, issuer.Credentials, issuer.OrganizationDetails, issuer.Attributes).GetAwaiter().GetResult(); } catch (Exception ex) { throw GetInnerException(ex); } return resultantIssuer; }
public CertificateBundle ImportCertificate(string vaultName, string certName, string base64CertColl, SecureString certPassword, IDictionary<string, string> tags) { if (string.IsNullOrEmpty(vaultName)) throw new ArgumentNullException("vaultName"); if (string.IsNullOrEmpty(certName)) throw new ArgumentNullException("certName"); if (string.IsNullOrEmpty(base64CertColl)) throw new ArgumentNullException("base64CertColl"); CertificateBundle certBundle; string vaultAddress = this.vaultUriHelper.CreateVaultAddress(vaultName); var password = (certPassword == null) ? string.Empty : certPassword.ConvertToString(); try { certBundle = this.keyVaultClient.ImportCertificateAsync(vaultAddress, certName, base64CertColl, password, new CertificatePolicy { SecretProperties = new SecretProperties { ContentType = "application/x-pkcs12" } }, null, tags).GetAwaiter().GetResult(); } catch (Exception ex) { throw GetInnerException(ex); } return certBundle; }