Как я могу загрузить или сохранить файл открытого ключа (.cer) в лазурном хранилище ключей. На панели keyvault выдает ошибку, когда я пытался загрузить любой файл .cer, где он работает для файла .pfx.
Как сохранить общедоступный сертификат (файл .cer) в Azure Key Vault
Ответы (2)
Вам следует подумать, является ли Key Vault подходящим решением для вашего сценария. Открытый ключ (по своей природе) не является конфиденциальными данными, вам не нужно безопасное место для его хранения. Вы можете использовать для этого универсальную службу хранения.
Если вам все еще нужно использовать Key Vault, вы можете сохранить его в секрете. Секреты Key Vault представляют собой последовательности октетов с максимальным размером 25 КБ каждая.
Загрузка сертификатов открытого ключа
Обозреватель хранилища ключей Azure позволяет загружать сертификаты открытых ключей (файлы .cer).
Сертификаты хранятся в виде ключей в Key Vault с использованием «стандартного» формата, используемого этим приложением (поскольку файлы .cer изначально не поддерживаются Azure Key Vault).
Доступ к сертификатам открытого ключа
После того, как вы загрузили открытые ключи в Azure Key Vault, к ним можно будет получить доступ программно следующим образом:
// load certificate based on format used by `Azure Key Vault Explorer`
var azureServiceTokenProvider = new AzureServiceTokenProvider();
var kv = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
var certBundle = await kv.GetSecretAsync(secretIdentifier).ConfigureAwait(false);
byte[] certBytes = null;
if (certBundle.ContentType == "application/x-pkcs12")
{
certBytes = Convert.FromBase64String(certBundle.Value);
}
else if (certBundle.ContentType == "application/pkix-cert")
{
certBytes = certBundle?.Value.FromJson<PublicKeyCertificate>()?.Data;
}
if (certBytes != null && certBytes.Length > 0)
{
return new X509Certificate2(certBytes,
"",
X509KeyStorageFlags.Exportable |
X509KeyStorageFlags.MachineKeySet |
X509KeyStorageFlags.PersistKeySet);
}
return null;
...
// class used to access public key certificate stored in Key Vault
public class PublicKeyCertificate
{
public byte[] Data;
}
https://aka.ms/ve?vault://[ENTER HERE YOUR VAULT NAME]
. Затем в приложении Vault нажмите Добавить ›Сертификат Key Vault› Из файла. Выберите свой файл .cer и нажмите ОК.
- person Troy Witthoeft; 07.10.2019