Azure Key Vault 证书 - 创建基本约束 CA:True
Posted
技术标签:
【中文标题】Azure Key Vault 证书 - 创建基本约束 CA:True【英文标题】:Azure Key Vault certificate - create Basic Constraints CA:True 【发布时间】:2022-01-22 07:24:03 【问题描述】:我想通过 Azure 门户(Azure Key Vault)创建自签名 CA 证书。我不确定如何设置 X509 扩展基本约束 CA:True
一些参考链接: https://docs.microsoft.com/en-us/powershell/module/pkiclient/new-selfsignedcertificate?view=win10-ps
https://www.alvestrand.no/objectid/2.5.29.19.html
(注意:我需要通过 Azure 门户手动完成,而不是 openssl 或 PowerShell 脚本)
我是怎么做到的
我得到了什么
我的期望是 CA:True。谢谢你的帮助:)
【问题讨论】:
【参考方案1】:显然,这可以通过 REST API 工作,但遗憾的是既没有通过 Portal UI 也没有通过 .NET Client SDK 公开。此外,它现在没有正确记录。
当您查看 example response for the Get Certificate Policy endpoint 时,您会看到它有一个部分 "basic_constraints"
包含您要查找的值(即使它没有记录在同一页面下方的相应 X509CertificateProperties section 中) .
然而,该属性记录在 REST API 的通用 "D509 props" documentation 中。请注意path_len_contraint
中的拼写错误,但如果您想使用它,则需要使用path_len_constraint
。
所以当使用
发布到https://<yourvault>.vault.azure.net/certificates/some-new-cert/create?api-version=7.0
时
"x509_props":
...
"key_usage": [
"keyCertSign"
],
"basic_constraints":
"ca": true,
"path_len_constraint": 3
,
它实际上按预期设置了值。其他参数见Create Certificate documentation。
结果可以在导出证书的openssl转储中看到:
X509v3 Key Usage: critical
Certificate Sign
X509v3 Basic Constraints: critical
CA:TRUE, pathlen:3
【讨论】:
看来不能再这样做了。 目前无法试用。他们现在禁用该功能会觉得很奇怪,特别是因为他们承认了这个用例并在几天前开始修复文档:github.com/Azure/azure-rest-api-specs/issues/… BTW,estiller 确认它在 5 月底仍然有效:github.com/estiller/build-pki-net-azure-sample/issues/… 我可以确认这仍然可以通过 REST 工作,但不能通过 SDK。以上是关于Azure Key Vault 证书 - 创建基本约束 CA:True的主要内容,如果未能解决你的问题,请参考以下文章
Azure Key Vault 证书证书标识符、秘密标识符、密钥标识符之间的区别
如何使用 Azure Key Vault 中的证书/密钥对使用 Azure Pipelines 构建的代码进行签名?
如何在 Azure Key Vault 中序列化和反序列化 PFX 证书?