自签发证书如何同时识别机器名称和IP地址?

3
我在IIS 7.5上生成了一个自签名证书,该证书是针对机器名称生成的。目前,我正在通过IP地址测试我的网站。在Chrome上使用https访问时,会出现以下消息:“您尝试访问IP地址,但实际上您访问的是一个将自己标识为机器名称的服务器”。
如何确保证书既能够支持机器名称,又能够支持IP地址
如果两者都无法支持,如何使其仅支持IP地址?

在生成证书时,只需在通用名称字段中输入您的IP而不是主机名即可生效。如果您同时需要两者,可以使用此链接中提供的方法:http://lanestechblog.blogspot.se/2009/04/creating-ssl-certificates-with-multiple.html - Joachim Isaksson
1
我正在使用IIS 7.5的“服务器证书”功能创建自签名证书。生成证书的用户体验不允许我分配公共名称字段。我是否遗漏了什么?我尝试查看SelfSSL.exe,但似乎它只用于在IIS上安装自签名证书。 - Kabeer
不,我没有使用上述方法。该方法并未创建证书,而只是创建了证书请求。目前我处于研究阶段,想要使用自签名证书而不是购买证书。上述链接要求我访问digicert.com网站并商业购买证书。我正在使用的方法是IIS 7.5 -> 点击机器名称 -> 点击服务器证书 -> 点击打开功能 -> 创建自签名证书。 - Kabeer
@JoachimIsaksson IP地址不应该在CN中,这不符合规范(尽管一些浏览器可以容忍它)。 - Bruno
@JoachimIsaksson,遵循规范的Java客户端(例如)甚至在测试环境中也会失败。 - Bruno
显示剩余2条评论
1个回答

4
你需要创建一个带有多个主题备用名称(Subject Alternative Names)的证书。在这个阶段,你放在CN字段里的内容并不重要(只有在没有主题备用名称时才是回退解决方案),但是放入主机名可以帮助你在各种列表中识别证书。
请注意,主机名条目应该是“dNSName”类型,而IP地址条目应该是“iPAddress”类型,因此你需要一个支持两者的证书创建工具。在这个问题(与Java无关)中有更多细节。
请注意,IP地址在开发环境中可能可行,但通常还是使用主机名更好。少数(如果有的话)CA将会为你发布与IP地址绑定的证书。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接