如何从命令行在 Windows 11 中发出证书请求?

如何从命令行在 Windows 11 中发出证书请求?

我们有一个有效的内部证书流程和有关如何使用它的说明certreq;但是在 Windows 11 上它停止正确生成 SAN。

内部 certreq 模板:

    [Version]
    Signature="$Windows NT§"
    [NewRequest]
    Subject = "CN=<machine-name>.domain-name,O=Cedaron,OU=<machine-name>,ST=California,L=Davis,C=US"
    KeyLength =  2048
    KeySpec = 1
    Exportable = True
    ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
    HashAlgorithm = SHA256
    MachineKeySet = True
    SMIME = False
    UseExistingKeySet = False
    RequestType = PKCS10
    KeyUsage = 0xA0
    Silent = True
    FriendlyName = "Certificate SHA-256"
    [EnhancedKeyUsageExtension]
    OID=1.3.6.1.5.5.7.3.1
    [Extensions]
    2.5.29.17 = "{text}"
    _continue_ = "dns=<machine-name>.domain-name&dns=<machine-name>&dns=localhost"

尝试修复问题的新模板(请勿使用):

    [Version]
    Signature="$Windows NT§"
    [NewRequest]
    Subject = "CN=<machine-name>.domain-name,O=Cedaron,OU=<machine-name>,ST=California,L=Davis,C=US"
    KeyLength =  2048
    KeySpec = 1
    Exportable = True
    ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
    HashAlgorithm = SHA256
    MachineKeySet = True
    SMIME = False
    UseExistingKeySet = False
    RequestType = PKCS10
    KeyUsage = 0xA0
    Silent = True
    FriendlyName = "Certificate SHA-256"
    [EnhancedKeyUsageExtension]
    OID=1.3.6.1.5.5.7.3.1
    [RequestAttributes]
    SAN="dns=<machine-name>.domain-name&dns=<machine-name>&"

无论如何,我都可以在文件中看到 SAN 的请求属性,但它已损坏。我目前收到未定义:0:hostname.domainnamemyusernamecertreq

网页搜索仍然能找到同样错误的说明。例如:https://saketupadhyay.medium.com/how-to-create-a-certificate-signing-request-csr-in-2021-windows-11-10-156202d1bf97这会产生除 SAN 不再填充之外的必要内容。

请指定该命令是否需要 powershell。我不介意使用 powershell,但如果您不指定,我将把它输入到 cmd.exe 中,不知道为什么它不起作用。

答案1

所以这是一个尝试顺序错误的例子。“新”模板来自一个声誉良好的网站(没有找到实际的网站,而是找到了另一个具有相同内容的网站https://kb.vmware.com/s/article/2032400),但不起作用。

实际问题是旧的根 CA 软件 TinyCA 因安全更新而受损,无法再工作!用 xca 替换后,原始模板又开始工作了。

我留下这个问题的原因是新模板是错误的,即使使用 XCA 仍然不起作用,但网络搜索一直找到新的模板而不是原始模板。

模板很好。TinyCA 被破坏了。

相关内容