omn*_*mni 3 certificate ssl-certificate windows-server-2008-r2
我正在尝试使用 Windows CertSrv Web 注册客户端中的附加属性字段颁发新证书。
我添加了 CSR,选择了模板并将其输入到属性字段中:
SAN:dns=HOSTNAME&dns=HOSTNAME.DOMAIN.COM&ipaddress=IPADRESS
Run Code Online (Sandbox Code Playgroud)
请求成功,但是当我检查签名证书时,没有添加“备用名称”属性。我错过了什么吗?也许模板有问题?(使用带有一些自定义设置的默认 Win 2003 级别网络服务器模板副本)。
/edit 我也试过使用
certreq -submit -attrib "CertificateTemplate:MYTEMPLATE" <Cert Request.req> -attrib "SAN:dns=HOSTNAME&dns=HOSTNAME2&ipaddress=IPADDRESS"
Run Code Online (Sandbox Code Playgroud)
导致同样的问题:生成了证书,但没有任何 SAN 属性。
/edit2 我还设置了 CA 来使用颁发 SAN 证书
certutil -setreg policy\EditFlags +EDITF_ATTRIBUTESUBJECTALTNAME2
Run Code Online (Sandbox Code Playgroud)
并重新启动 CA 服务。仍然:没有SAN。
请注意:使用 req. 文件和 OpenSSL 来生成 CSR 我能够使用包含一些 SAN 的 CA 生成证书。但是,此选项在我当前的情况下无效,因为我是从应用程序获取 CSR,而我无法为应用程序手动生成 CSR。
/edit3 我尝试使用没有任何更改的默认网络服务器证书,突然它起作用了。所以现在的问题是:启用 SAN 的模板要求是什么?
小智 5
我知道这很旧,但我自己才弄明白,并认为它可能会帮助别人。我也无法通过网页或certreq ... -attrib "SAN:DNS=<FQDN>[&DNS=<FQND2>...]..."
格式让 CA 添加 SAN 。即使颁发了证书,SAN 属性也被忽略。
但是,我发现它适用于这种格式: certreq -attrib "CertificateTemplate:WebServer\nSAN:DNS=<Name1>[&DNS=<name2>...][&IPAddress=<IP1>...]" <csr filename> <cer filename>
例如,如果您有一个名为 HP_VC.csr 的证书请求文件,并且您希望主题备用名称为 vc1、vc2、vc1.domain.com、vc2.domain.com、192.168.1.1 和 192.168.1.2,则该命令将是:
certreq -attrib "CertificateTemplate:WebServer\nSAN:DNS=vc1&DNS=vc2&DNS=vc1.domain.com&DNS=vc2.domain.com&IPAddress=192.168.1.1&IPAddress=192.168.1.2" HP_VC.csr HP_VC.cer
Run Code Online (Sandbox Code Playgroud)
HP_VC.cer 中的证书将包含 SAN 属性。
我将它用于 HP Virtual Connect (VC) 模块、Onboard Administrators (OA) 和 iLO。它应该适用于需要带有 SAN 的证书的任何一般情况。
归档时间: |
|
查看次数: |
34095 次 |
最近记录: |