azure-keyvault - 如何防止导入证书的私钥导出
问题描述
简短的问题:如何使导入的证书 (pfx)不可导出?
我们有一个要导入 Azure KeyVault 的证书 (pfx) 文件。但是,我们无法使此证书不可导出。在颁发策略/高级策略配置下有一个选项,您可以在其中将“可导出私钥”设置为“否”,但似乎不适用于导入的证书。
我们使用的代码是:
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 中根本没有此选项。
当我们在 Key Vault 中生成证书时,此选项确实有效,这会导致 cert.HasPrivateKey 设置为 False。
是不支持这种情况还是我们遗漏了什么?提前致谢!
解决方案
将证书导入 Azure Key Vault 时,可以将 设置exportable
为 false KeyProperties
,表示无法导出私钥。
更多细节,你可以参考这篇文章。
推荐阅读
- terminal - 终端的条件 ZSH_THEME
- python - Python - 如何在单个图形中绘制来自多个文本文件的数据
- graphql - graphql-java 中的模拟 api 响应
- excel - 基于对齐方式排序
- docker - Hadoop 连接被拒绝,Docker 上的高可用性名称节点配置
- python - 连接两个 pandas 数据框进行分析
- javascript - 如何在一个 ajax 请求中添加文件和 html 类型数据
- javascript - 更改 HTML 内容后为 DIV 设置动画
- javascript - 输入字段中的连接符号
- oracle - 使用一个表作为另一个表计算的参考点