0

我正在尝试通过 https 连接到 localhost,以便我可以使用服务人员。我已经尝试了许多解决方案,例如 chrome flags,如本文中所述,但没有一个有效。最后,我使用 OpenSSL 使自己成为证书颁发机构并签署自己的证书。然而,尽管一切运行正常,Chrome(和其他浏览器)仍然拒绝了我的证书。

这是由于缺乏主题替代名称。然后我将我的 IP 地址添加为备用名称,但它也未被接受 - chrome 告诉我“域来自 [IP 地址]”,以及错误消息ERR_CERT_COMMON_NAME_INVALID 我可以使用哪些其他主题备用名称来证明我的身份通过本地主机?(或者,还有其他解决方案吗?)我正在使用 Apache 和 XAMPP。

4

1 回答 1

0

SAN 必须与您使用的 URL 中的域匹配。如果您使用https://localhost,则必须有一个 DNS 类型的 SAN,其值为localhost。如果您使用https://127.0.0.1,则必须有一个 IP 类型的 SAN,其值为127.0.0.1。不是正确类型的重要性,而不仅仅是值的重要性。

我使用 localhost 作为通用名称。据我了解,SAN 必须不同,但仍指同一个域......

不。CN 实际上是无关紧要的,如果给出 SAN,通常甚至不会被查看(或者在 Chrome 的情况下:它永远不会查看 CN,并且始终需要 SAN)。所以只要确保 SAN 是正确的。

于 2021-03-28T08:12:53.773 回答