2

我想通过 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。谢谢你的帮助:)

4

1 回答 1

4

显然,这可以通过 REST API 工作,但遗憾的是既没有通过 Portal UI 也没有通过 .NET Client SDK 公开。此外,它现在没有正确记录。

当您查看Get Certificate Policy 端点的示例响应时,您可以看到它有一个"basic_constraints"包含您要查找的值的部分(即使它没有记录在同一页面下方的相应X509CertificateProperties 部分中)。

但是,该属性记录在REST API的通用“D509 道具”文档中。如果你想使用它,请注意拼写错误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
        }
    },

它实际上按预期设置了值。有关其他参数,请参阅创建证书文档

结果可以在导出证书的 openssl 转储中看到:

        X509v3 Key Usage: critical
            Certificate Sign
        X509v3 Basic Constraints: critical
            CA:TRUE, pathlen:3
于 2020-02-03T18:18:35.250 回答