Заставить wsimport (Java 10/11) поддерживать TLSv1 и слабый шифр

Я использую wsimport для генерации кода из конкретного WSDL. Я попробовал Java 10, рукопожатие не удалось, затем я попробовал Java 9, и все было в порядке.

Я наблюдал за общением с помощью wireshark, и причина стала ясна: сервер, с которым я общался, все еще использует TLSv1, и я думаю, что Java 10 wsimport больше не допускает этого (по крайней мере, по умолчанию), хотя 9 поддерживает.

Я ничего не могу сделать с сервером, поэтому возникает вопрос, как я могу запустить Java 10 wsimport с допуском TLSv1?

SQL Injection: Атаки в реальной жизни и как это вредит бизнесу
SQL Injection: Атаки в реальной жизни и как это вредит бизнесу
Один-единственный вредоносный запрос может нанести ущерб вашему бизнесу. Уязвимости вашего кода могут привести к:
4
1
275
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Было проведено дополнительное исследование, и наиболее полезный тест был проведен с использованием ssl labs. Оказалось, что сервер поддерживает слабый набор шифров: TLS_RSA_WITH_3DES_EDE_CBC_SHA.

Проблема была решена добавлением следующей опции java:

-Dhttps.cipherSuites=SSL_RSA_WITH_3DES_EDE_CBC_SHA

Невозможно указать набор шифров как TLS_RSA_WITH_3DES_EDE_CBC_SHA. Соглашение об именах Java требует, чтобы он назывался SSL_RSA_WITH_3DES_EDE_CBC_SHA.

Боковое примечание: ошибка, упомянутая в комментарии @ nullpointer выше, была решена во всех трех версиях, которые я пробовал: Java 9/10/11.

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