Какие шифры совместимы с Java 6/Tomcat 7 и IE8 (XP)?

Я отключил SSL3 и ограничил число доступных шифров рекомендуемым набором, но теперь не могу получить доступ к своему серверу с помощью IE8 в Windows XP. Если я разрешу все шифры, тогда я смогу подключиться с помощью IE8, но когда я укажу ограниченный набор шифров, я не смогу. Сдается мне, что мне нужно добавить правильный шифр, и тогда IE8 будет работать нормально.

Когда у меня включены все шифры и я захожу на сайт с помощью IE8, я вижу, что соединение использует TLS 1.0, RC4 с 128-битным шифрованием и RSA:

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 поддерживает. К сожалению, я не могу найти соответствие между двумя наборами шифров.

ОБНОВИТЬ:

Мой браузер 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"

Я не знаю, почему я могу подключиться с включенными ВСЕМИ шифрами, но если я укажу каждый шифр, поддерживаемый браузером, я все равно не смогу подключиться

1 ответ

Решение

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,

Другие вопросы по тегам