2012-02-07 151 views

回答

3

我之前讀過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. 
+1

請注意,並非所有實現對此都是嚴格的。 [Java](http://stackoverflow.com/a/8444863/372643)相當嚴格,但許多瀏覽器更寬容(有些人認爲這是Java的問題)。通常,不推薦使用證書中的IP地址。 (如果你通常閱讀這些內容,你也可能對[RFC 6125,第7.1.2節](http://tools.ietf.org/html/rfc6125#section-1.7.2)的第二段感興趣。如果你超越HTTPS,RFC 6125也是一個很好的規範。) – Bruno 2012-02-09 12:36:23

+0

你是對的IP地址不建議在證書上。剛剛檢查過'鉻'瀏覽器的源代碼,他們檢查IP地址。我會將這個問題標記爲鉻源,看看其他人是否有任何意見。順便感謝那個RFC。 – PnotNP 2012-02-09 22:45:46

0

我的回答是基於我對TLS/SSL的經驗。

  1. 它基於證書驗證的實施。要強制執行IP地址匹配,您必須執行該操作。
  2. 無論你想要什麼。你也可以檢查兩者。
  3. 抱歉不知道這個字段是幹什麼的。

您是否已勾選OpenSSL documentation

+0

是的,我已檢查過該文件,並且比that.I沒有找到任何上述任何令人信服的答案。現在我更傾向於查看鉻瀏覽器的源代碼,看看它如何處理這個領域,如果沒有什麼幫助的話。 問題不是我必須做的,而是應該做些什麼。 – PnotNP 2012-02-07 23:21:53

+0

我認爲瀏覽器會檢查這個字段,如果域名不符合'CN'。 – rekire 2012-02-07 23:31:12

+0

這似乎並不正確。這可能會造成安全漏洞。如果用戶提供了一個主機名(DNS名稱),那麼我們應該只將它與主題替代名稱的DNS名稱字段進行匹配,而不能與IP地址字段進行匹配。而用戶提供的IP地址只有主題替代名稱的IP地址字段。 – PnotNP 2012-02-08 01:28:16