Oracle Java 8 не поддерживает Cipher Suite TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 - PullRequest
0 голосов
/ 25 сентября 2019

Как включить TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 в java 1.8.0_51?

Моя среда

Windows Server 2016
java version 1.8.0_51

Мне нужно обновить канал MQ и набор шифров с C2 до C6 в нескольких проектах в одном проектесервер.Я обновил банки JQ и конфигурации MQ-соединений в этих проектах.
То же сообщение об ошибке в журнале из разных проектов: не поддерживается TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 с установленными в настоящее время поставщиками.

Что я сделал после проверки журнала:
Шаг 1: Загрузите файлы политики неограниченной юрисдикции расширения криптографии Java (JCE) 8 из https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
Шаг2: Разархивируйте jce_policy-8.zip и замените существующие local_policy.jar и US_export_policy.jar в C: \ Program Files (x86) \ Java \ jre1.8.0_51 \ lib \ security новыми
Шаг 3: Проверьте поддерживаемые комплекты шифров в cmd, используя следующие команды:

C:\Program Files (x86)\Java\jre1.8.0_51\bin>jjs
jjs> print(java.util.Arrays.toString(javax.net.ssl.SSLServerSocketFactory.getDefault().getSupportedCipherSuites()).replaceAll(",","\n"))

Ожидаемый результат

[TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
 TLS_RSA_WITH_AES_128_CBC_SHA256
 TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
 TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
 TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
... ]

Однако , все имена наборов шифров, начинающиеся с "TLS_ECDH", не отображаются в результате, включая тот, который я настроил в своих проектах TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384.
Тогда я замечаючто даже до обновления банок JCE TLS_ECDH * не поддерживается.

Я думаю, что это может быть связано с настройкой security.provider в C: \ Program Files (x86) \ Java \ jre1.8.0_51 \ lib \безопасность \ java.security.Но я не знаю, что мне нужно изменить.
Вот мои текущие настройки security.provider:

security.provider.1=sun.security.provider.Sun
security.provider.2=sun.security.rsa.SunRsaSign
security.provider.3=com.sun.net.ssl.internal.ssl.Provider
security.provider.4=com.sun.crypto.provider.SunJCE
security.provider.5=sun.security.jgss.SunProvider
security.provider.6=com.sun.security.sasl.Provider
security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.8=sun.security.smartcardio.SunPCSC
security.provider.9=sun.security.mscapi.SunMSCAPI
...