我正在尝试使用 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 的模板要求是什么?