Embedded Jetty - общая проблема SSLEngine - ошибка SSLv2Hello отключена - PullRequest
1 голос
/ 14 апреля 2020

Когда я пытаюсь подключиться к моему серверу Jetty, я получаю следующие ошибки:

New I/O worker #777, WRITE: SSLv2 client hello message, length = 179
fatal error: 10: General SSLEngine problem
javax.net.ssl.SSLHandshakeException: SSLv2Hello is disabled
SEND TLSv1.2 ALERT:  fatal, description = unexpected_message
WRITE: TLSv1.2 Alert, length = 2
fatal: engine already closed.  Rethrowing javax.net.ssl.SSLHandshakeException: SSLv2Hello is disabled
New I/O worker #777, called closeOutbound()
New I/O worker #777, closeOutboundInternal()
New I/O worker #777, SEND TLSv1.2 ALERT:  warning, description = close_notify
New I/O worker #777, WRITE: TLSv1.2 Alert, length = 2

Используя Java 1.8.241. Использование сервера Jetty (v9.2.9), настроенного для использования SSL. Сервер использует самозаверяющий сертификат, и я импортировал его в хранилище ключей и cacerts. Подключение к серверу с помощью клиента wAsyn c Atmosphere.

Чтобы создать самозаверяющий сертификат, я использовал следующие команды в командной строке от имени администратора:

keytool -genkeypair -alias jetty_cloud -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore jetty_cloud.p12 -validity 3650
keytool -genkeypair -alias jetty_cloud -keyalg RSA -keysize 2048 -keystore jetty_cloud.jks -validity 3650
keytool -importkeystore -srckeystore jetty_cloud.jks -destkeystore jetty_cloud.p12 -deststoretype pkcs12
keytool -export -alias jetty_cloud -file jetty_cloud.crt -keystore jetty_cloud.jks
keytool -import -alias jetty_cloud -file "C:\Program Files\Java\jre1.8.0_241\bin\jetty_cloud.crt" -keystore "C:\Program Files\Java\jre1.8.0_241\lib\security\cacerts" -storepass changeit

1 Ответ

1 голос
/ 16 апреля 2020

SSLv2Hello по умолчанию отключено для Java 7 +

См .: https://www.oracle.com/java/technologies/compatibility.html

Ваш клиент, клиент Asyn c Atmosphere, должен быть настроен или обновлен для использования более новой настройки SSL / TLS.

Рекомендовал бы таргетинг для конфигурации клиента TLSv1.2 или выше. (это означает, что SSL, SSLv2, SSLv3, TLSv1.0 и TLSv1.1 все отключены на клиенте)

...