如何防止导出导入证书的私钥

时间:2018-12-18 15:48:54

标签: azure-keyvault

简短问题:如何使导入的证书(pfx)不可导出

我们有一个证书(pfx)文件,我们想将其导入Azure KeyVault。但是,我们无法将此证书设为不可导出。在“颁发策略/高级策略配置”下有一个选项,您可以在其中将“可导出私钥”设置为“否”,但似乎不适用于导入的证书。

我们使用的代码是:

        var keyVaultClient = CreateKeyVaultClient();
        var name = "non-exportable-cert";

        var secret = await keyVaultClient.GetSecretAsync("azure-key-vault-url", name);

        var cert = new X509Certificate2(Convert.FromBase64String(secret.Value));

         // cert.HasPrivateKey = always True.

使用Windows证书存储区时,我们必须将证书明确标记为可导出。 Azure Key Vault中根本没有此选项。

当我们在密钥保管库中生成证书时,此选项会起作用,这会导致cert.HasPrivateKey设置为False。

是否不支持此方案,或者我们缺少某些内容?预先感谢!

1 个答案:

答案 0 :(得分:0)

将证书导入到Azure密钥保险库中时,可以在exportable中将KeyProperties设置为false,这表示不能导出私钥。

有关更多详细信息,您可以参考此article

相关问题