Java

哪些密碼與 Java 6/Tomcat 7 和 IE8 (XP) 兼容?

  • November 19, 2014

我已禁用 SSL3 並將可用的密碼限制為推薦的設置,但現在我無法在 Windows XP 上使用 IE8 訪問我的伺服器。如果我允許所有密碼,那麼我可以使用 IE8 進行連接,但是當我指定一組受限密碼時,我不能。在我看來,我需要添加正確的密碼,然後 IE8 才能正常工作。

當我啟用所有密碼並使用 IE8 訪問該站點時,我可以看到連接使用的是 TLS 1.0、具有 128 位加密和 RSA 的 RC4:

Internet Explorer 8 https 連接

我嘗試添加這個密碼:TLS_RSA_WITH_RC4_128_SHA. 但我認為 Tomcat/Java 不承認它。

我的連接器如下所示:

<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
          maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
          clientAuth="false" sslProtocol="TLS" sslEnabledProtocols="TLSv1.2,TLSv1.1,TLSv1" keystoreFile="C:\somewhere\my.keystore"
          ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
          TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,
          TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,
          TLS_RSA_WITH_AES_256_CBC_SHA" />

我正在使用 Tomcat 7 和 Java 6

這可能是一個紅鯡魚,但我一直在提到這些密碼套件,因為我認為我被 Java 6 限制在這些密碼套件中。此外,我一直在參考本文件(第 30 頁)所說的 IE8 在 XP 上支持的密碼。不幸的是,我找不到兩組密碼之間的匹配項。

更新:

我在 XP 上的 IE8 瀏覽器似乎只支持這些密碼套件:

在此處輸入圖像描述

我已經更新了 Tomcat 的密碼以包含所有這些,但我仍然無法連接:

ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_RC4_128_MD5,TLS_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_DES_CBC_SHA,TLS_RSA_EXPORT1024_WITH_RC4_56_SHA,TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA,TLS_RSA_EXPORT_WITH_RC4_40_MD5,TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5,TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_DHE_DSS_WITH_DES_CBC_SHA,TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA"

我不知道為什麼我可以連接啟用所有密碼但如果我指定瀏覽器支持的每個密碼我仍然無法連接

SSL_RSA_WITH_RC4_128_SHA應該可以工作——原因只是術語上的不同,Java 6 中需要 TLS 的密碼是唯一在名稱上有 TLS 的密碼。儘管名稱如此,但這個特定的密碼規範在 TLS 和 SSL 下工作。

此配置應允許來自 XP 上的 IE8 的連接,同時仍拒絕 SSLv3 連接,因為啟用的協議由sslEnabledProtocols="TLSv1.2,TLSv1.1,TLSv1".

驗證它不接受 SSLv3 連接openssl s_client -ssl3 -connect example.com:443

引用自:https://serverfault.com/questions/645567