RC4 связанная проблема после обновления Java 8

В предыдущей версии Java RC4 была включена в то время, когда мое приложение работало нормально, но после обновления Java 8 U 77 оно больше не использует следующие шифры, которые необходимы для работы с одним из моих старых серверов.

TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA
SSL_RSA_WITH_RC4_128_SHA
TLS_ECDH_ECDSA_WITH_RC4_128_SHA
TLS_ECDH_RSA_WITH_RC4_128_SHA
SSL_RSA_WITH_RC4_128_MD5

Я изменил java.security и раздел отключенного алгоритма, как показано ниже,

jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024

Тем не менее я не могу заставить работать вышеупомянутые люксы. Любая идея их включения, я также пытался добавить их при запуске приложения,

java -Djavax.net.debug=all -Djavax.net.debug=ssl:handshake:verbose -Dhttps.cipherSuites="TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,SSL_RSA_WITH_RC4_128_SHA,TLS_ECDH_ECDSA_WITH_RC4_128_SHA,TLS_ECDH_RSA_WITH_RC4_128_SHA,SSL_RSA_WITH_RC4_128_MD5" <myApp>

Еще не повезло, заранее спасибо.

2 ответа

В примечаниях к выпуску Oracle JRE 8u51 упоминается новое свойство безопасности под названием jdk.tls.legacyAlgorithms к которому был добавлен RC4:

RC4 сейчас считается слабым шифром. Серверы не должны выбирать RC4, если в наборе шифров, запрошенных клиентом, нет более сильного кандидата. Новое свойство безопасности, jdk.tls.legacyAlgorithms, добавлено, чтобы определить устаревшие алгоритмы в реализации Oracle JSSE. Связанные с RC4 алгоритмы добавлены в список устаревших алгоритмов.

Я предполагаю, что вы должны удалить RC4_40 из этого списка свойств в файле java.security, чтобы сделать его снова пригодным для использования.

Чтобы решить эту проблему, нам нужно снова включить RC4 и MD5 (оба теперь рассматриваются как скомпрометированные алгоритмы). Это должно быть сделано путем изменения конфигурации "java.security" (путем удаления RC4 и MD5 из файла jdk.tls.disabledAlgorithms, jdk.certpath.disabledAlgorithms) и повторного добавления вышеупомянутых "наборов шифров отсутствий" с использованием "SSLSocket/SSLEngine.setEnabledCipherSuites()". Для получения дополнительной информации о повторном добавлении связанных с RC4 шифров, пожалуйста, обратитесь к разделу Java 8 Update 60 (8u60) из выделения версии java 8 ( https://java.com/en/download/faq/release_changes.xml) и следующей ссылке ( http://bugs.java.com/view_bug.do?bug_id=8076221)

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