【问题标题】:Subject Alternative Names for Localhost本地主机的主题备用名称
【发布时间】:2021-06-24 14:31:43
【问题描述】:

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

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

【问题讨论】:

    标签: ssl ssl-certificate subject-alternative-name


    【解决方案1】:

    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 是正确的。

    【讨论】:

    • 我使用localhost 作为通用名称。据我了解,SAN 必须不同,但仍指同一个域,因此我使用了我的 IP 地址。我是否也应该将 SAN 也设置为 https://localhost
    • @Toby:您的理解有误,请查看更新后的答案。
    • 我将 SAN 设置为 localhost,但仍然收到相同的错误消息 ERR_CERT_COMMON_NAME_INVALID,以及消息“此服务器无法证明它是 localhost ; 它的安全证书来自 localhost"。我意识到如果 Chrome 不简单地被 SAN 接受,我现在可能会遇到与我意识到的不同的问题。你还有其他建议吗?或者我会发一个新帖子。
    • @Toby:我不确定你到底在做什么,请提供你使用的exact证书和exact URL?请注意,SAN 不应为 https://localhost,而应为 localhost
    • 将 SAN 更改为 localhost 有效。非常感谢,这花了很多时间。
    猜你喜欢
    • 2017-06-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-23
    • 2017-10-11
    • 1970-01-01
    • 2017-12-03
    • 2011-09-05
    • 1970-01-01
    相关资源
    最近更新 更多