Получено фатальное предупреждение: handshake_failure после обновления до TLSv1.2

Я работаю над приложением Java 1.7 на сервере Linux Centos, которое подключается к третьей стороне с помощью SOAP. Все работало, пока третья сторона не обновила свой ssl с TLSv1.1 до TLSv1.2. Теперь, когда мы пытаемся вызвать их службу, мы получаем:

javax.net.ssl.SSLHandshakeException: вызов SSLHandshakeException https://webservices.abc.company.com : Получено фатальное предупреждение: handshake_failure

У нас также есть еще один сервер Linux Centos, который использует точно такую ​​же базу кода, но может вызывать службу SOAP без ошибок. Поэтому я попытался сравнить, чтобы найти какие-либо отличия. Различия, которые я могу найти, заключаются в том, что некоторые структуры каталогов отличаются, но файлы, которые, как мне кажется, применимы, такие же. Например,

/etc/httpd/conf.d/ssl.conf

находятся в одном месте, и оба имеют одинаковые шифры:

SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
#SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
SSLHonorCipherOrder on

У них одинаковый сертификат, выданный сторонней компанией.

/etc/httpd/ssl/abc.crt

Я отключил брандмауэр.

sudo systemctl stop firewalld

Вопрос

Знаете ли вы, где еще я могу посмотреть и что я могу попробовать?

0
задан 12 August 2020 в 12:17
1 ответ

Вы должны использовать версию Java с поддержкой TLS 1.2 (я не уверен, что 1.7.0_09 попадает в эту лодку, но я знаю, что более поздние версии 1.7 поддерживают ) и это должен быть один из включенных протоколов. В этом вопросе есть подробности об этом: https://stackoverflow.com/questions/39157422/how-to-enable-tls-1-2-in-java-7

Java 1.7 является EOL с 2015 года, поэтому обновление, вероятно, будет в наилучших интересах, чтобы избежать проблем в будущем.

2
ответ дан 12 August 2020 в 14:45

Теги

Похожие вопросы