Я отключил SSL3 и ограничил шифры, доступные рекомендуемому набору, но теперь я не могу получить доступ к своему серверу с помощью IE8 на Windows XP. Если я позволяю все шифры затем, я могу соединить использование IE8, но когда я указываю ограниченный набор шифров, я не могу. Кажется мне, что я должен добавить правильный шифр, и затем IE8 будет хорошо работать.
То, когда у меня есть все шифры, включило, и получите доступ к сайту с помощью IE8 I, видят, что соединение использует TLS 1.0, RC4 с шифрованием на 128 битов и RSA:
Я пытался добавить этот шифр: 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. К сожалению, я не могу найти соответствие между 2 наборами шифров.
Мой браузер IE8 на XP, кажется, только поддерживает эти наборы шифров:
Я обновил шифры для 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, несмотря на название.
Эта конфигурация должна разрешать соединения из IE8 на XP, но при этом отклонять соединения SSLv3, поскольку включенные протоколы управляются с помощью sslEnabledProtocols = "TLSv1.2, TLSv1.1, TLSv1 "
.
Убедитесь, что он не принимает SSLv3-соединения с openssl s_client -ssl3 -connect example.com:443[1140875estive.