简短问题:如何使导入的证书(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。
是否不支持此方案,或者我们缺少某些内容?预先感谢!
答案 0 :(得分:0)
将证书导入到Azure密钥保险库中时,可以在exportable
中将KeyProperties
设置为false,这表示不能导出私钥。
有关更多详细信息,您可以参考此article。