azure-keyvault - 如何在 Azure Key Vault 中存储公共(public)证书(.cer 文件)

标签 azure-keyvault

如何在 azure keyvault 中上传或存储公钥 (.cer) 文件。当我尝试上传适用于 .pfx 文件的任何 .cer 文件时,从 keyvault 面板中出现错误。

最佳答案

加载公钥证书

Azure Key Vault Explorer允许您加载公钥证书(.cer 文件)。

证书使用该应用程序使用的“标准”格式作为 key 存储在 Key Vault 中(因为 Azure Key Vault 本身不支持 .cer 文件)。

Example public key cert as stored by Azure Key Vault Explorer

访问公钥证书

将公钥加载到 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;
}

关于azure-keyvault - 如何在 Azure Key Vault 中存储公共(public)证书(.cer 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43536579/

相关文章:

azure - 使用 ARM 部署将访问策略添加到 key 保管库时如何调试冲突错误

Azure Key Vault 证书 - 创建基本约束 CA :True

.net - Visual Studio 2022 中的 Azure 服务身份验证即使在注销后也能正常工作

c# - 缺少将 Microsoft.IdentityModel.Clients.ActiveDirectory 3.13.9 与 Azure KeyVault C# SDK 结合使用的程序集引用

c# - 使用KeyVault存储ABP框架的默认连接字符串

azure-keyvault - 将 secret 传递给 Azure 数据工厂中的 Web 事件

azure - 找不到获取 azkeyvaultaccesspolicy

c# - 如何通过 Azure Batch 使用 Key Vault 进行身份验证

Python Azure 函数 - 使用 Key Vault 进行 MSI 身份验证

azure - NET Core应用程序无法访问Azure Key Vault