Ho un mucchio di stringhe e certificati pfx, che voglio memorizzare in Azure Key vault, dove solo gli utenti/app consentiti potranno riceverli. Non è difficile memorizzare una stringa come Segreto, ma come posso serializzare un certificato in modo tale da poterlo recuperare e deserializzare come oggetto X509Certificate2 in C#?Come serializzare e deserializzare un certificato PFX in Azure Key Vault?
Ho provato a memorizzarlo come chiave. Ecco il codice PowerShell Azure
$securepfxpwd = ConvertTo-SecureString -String 'superSecurePassword' -AsPlainText -Force
$key = Add-AzureKeyVaultKey -VaultName 'UltraVault' -Name 'MyCertificate' -KeyFilePath 'D:\Certificates\BlaBla.pfx' -KeyFilePassword $securepfxpwd
Ma quando ho cercato di ottenere con il metodo GetKeyAsync, non ho potuto usarlo.
$ clearBytes = $ collection.Export ($ pkcs12ContentType) non sembra esportare la chiave privata. L'utilizzo del metodo $ collection.Export ($ pkcs12ContentType, $ pwd) mi ha permesso di importare il certificato come X509Certificate2 (C#) usando la password. – Trey
@Sumedh L'helper a cui ti riferisci è che i nuovi certificati Key Vault sono disponibili? https://docs.microsoft.com/en-us/rest/api/keyvault/certificate-scenarios Grazie –
@Hoyce sì sì. Ecco un tutorial per la funzionalità dei certificati. Molto più conciso ora rispetto allo script sopra, e anche i certificati rimangono auto-rinnovati. https://blogs.technet.microsoft.com/kv/2016/09/26/get-started-with-azure-key-vault-certificates/ (Grazie per resuscitare questa discussione.) –