我们有一个有效的内部证书流程和有关如何使用它的说明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 被破坏了。