【问题标题】:X509 subject alternative name (subjectAltName) IP address fieldX509 主题备用名称 (subjectAltName) IP 地址字段
【发布时间】:2012-02-07 23:12:56
【问题描述】:

X509v3 可以在subject Alternative Name 扩展中包含IP 地址字段。

  1. 作为验证服务器身份的应用程序,IP地址字段应该如何验证?
  2. 如果 DNS 名称和 IP 地址都存在?是否有偏好?
  3. dirName 字段有什么用?

【问题讨论】:

    标签: google-chrome openssl x509 chromium


    【解决方案1】:

    我之前读过 RFC 2818,但一定错过了这部分。

    In some cases, the URI is specified as an IP address rather than a
    hostname. In this case, the iPAddress subjectAltName must be present
    in the certificate and must exactly match the IP in the URI.
    

    【讨论】:

    • 请注意,并非所有实现都对此严格。 Java 相当严格,但一些浏览器更宽容(有些人认为这是 Java 的问题)。一般不建议使用证书中的 IP 地址。 (如果您一般阅读此内容,您可能还对RFC 6125, section 7.1.2 的第 2 段感兴趣。如果您不使用 HTTPS,RFC 6125 也是一个很好的规范。)
    • 你是对的 IP 地址不推荐在证书上。刚刚检查了chromium 浏览器的源代码,他们确实检查了 IP 地址。我也会将此问题标记为铬源,以查看其他人是否有任何 cmets。顺便感谢那个 RFC。
    【解决方案2】:

    我的回答是基于我在 TLS/SSL 方面的经验。

    1. 它基于证书验证的实施。要强制执行IP 地址匹配,您必须实现它。
    2. 随心所欲。您也可以同时检查两者。
    3. 抱歉,不知道该字段的作用。

    你检查过OpenSSL documentation吗?

    【讨论】:

    • 是的,我已经检查了该文档,而且还不止这些。我没有为上述任何内容找到任何令人信服的答案。我现在更倾向于查看 chromium 浏览器的源代码,看看它是如何处理这个字段的,如果这里没有帮助的话。问题不是我必须做什么,而是应该做什么。
    • 我认为如果域与CN 不匹配,浏览器会检查此字段。
    • 这确实 not 似乎是正确的。这可能会造成安全漏洞。如果用户提供了主机名(DNS 名称),那么我们应该仅将其与主题备用名称的 DNS 名称字段匹配,而不是与 IP 地址字段匹配。并且用户提供的 IP 地址仅包含主题替代名称的 IP 地址字段。
    • 我之前读过 RFC 2818 但一定错过了这部分 --> 在某些情况下,URI 被指定为 IP 地址而不是主机名。在这种情况下,iPAddress subjectAltName 必须出现在证书中,并且必须与 URI 中的 IP 完全匹配。
    • 我写道,当CN 不匹配时,浏览器会查看subjectAltName。如果您输入的是 IP 而不是域,就会出现这种情况。也许我的英语不够完美。用我自己的语言,我可能会写得更准确一些。
    猜你喜欢
    • 2019-09-23
    • 1970-01-01
    • 2023-03-23
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 2014-12-19
    • 2014-12-02
    • 1970-01-01
    相关资源
    最近更新 更多