我已经创建了自己的 CA 供内部使用,并将根证书设置为我的机器上的可信证书。使用此 CA,我为内部服务器签署了 SSL 证书。我仅使用它们的 IP 来寻址它们,因此我使用服务器的 IP 作为证书名称。如果我使用 Chrome 或移动版 Safari 连接到服务器,它就可以正常工作,但如果我在 Mavericks 下使用 Safari 7(在同一台机器上使用相同的钥匙串),我会收到以下错误:“证书无效(主机名不匹配)”。我仔细检查了我输入的 IP(“ https://192.168.2.130
”)是否正确,但我总是收到相同的错误。我需要为证书输入不同的名称吗?还是 Safari 不支持 IP 的 SSL 证书?以下是错误消息的屏幕截图(我只能发布至少 10 个回复的图片):
Safari 的错误消息
谢谢,请原谅我的英语不好:D
答案1
如果您想要为主机颁发证书并使其在通过其 IP 地址联系时有效,则必须将主题名称设置为其主机名(实际上,无论您想要什么,但强烈建议将其设置为您控制的 DNS 名称并实际引用该服务器),并subjectAltName
为您希望其有效的每个 IP 地址创建一个 SAN ( )。只有当您关心在 URI 中使用 IP 而不是 DNS 名称是否有效时,您才需要这样做。
SAN 还必须经过特殊格式化,IP:
例如带有前缀IP:192.0.2.5
。