Ошибка установления связи SSL с использованием Java

Я пытаюсь подключить Java-клиент к JMX-серверу с помощью SSL-сертификата.

Но, к сожалению, это соединение дает ошибку установления связи SSL. Когда я попытался отладить это, используя флаг -Djavax.net.debug=all, я получил следующее сообщение об ошибке на java-клиенте.

2016-07-15T13: 29: 50.02-0700 [APP / 0] OUT RMI RenewClean- [10.200.0.27:44445,javax.rmi.ssl.SslRMIClientSocketFactory@305a99f7], READ: TLSv1.2 Alert, length = 2

2016-07-15T13: 29: 50.02-0700 [APP / 0] OUT RMI RenewClean- [10.200.0.27:44445,javax.rmi.ssl.SslRMIClientSocketFactory@305a99f7], RECV TLSv1 ALERT: фатальный, handshake_failure

2016-07-15T13: 29: 50.02-0700 [APP / 0] OUT RMI RenewClean- [10.200.0.27:44445,javax.rmi.ssl.SslRMIClientSocketFactory@305a99f7], называется closeSocket ()

2016-07-15T13: 29: 50.02-0700 [APP / 0] OUT RMI RenewClean- [10.200.0.27:44445,javax.rmi.ssl.SslRMIClientSocketFactory@305a99f7], исключение обработки: javax.net.ssl.SSLHandshakeException: Получено фатальное предупреждение: handshake_failure

Когда я меняю клиента на что-то другое, например JConsole, соединение работает нормально, используя тот же сертификат SSL и хранилище доверенных сертификатов, что указывает на то, что с сертификатом SSL или доменом, к которому он подключается, все в порядке.


person Nikhil Katre    schedule 15.07.2016    source источник
comment
Как вы сами заметили: есть клиенты, которые работают, и ваш клиент к ним не относится. Это означает, что проблема где-то в вашем клиенте, и без дополнительной информации об этом клиенте вам невозможно помочь. См. Как создать минимальный, полный и проверяемый пример.   -  person Steffen Ullrich    schedule 17.07.2016


Ответы (1)


Похоже, что рукопожатие не удалось из-за неправильных типов версии TLS.

Мой клиент работал на Java7, который использовал TLS версии 1, в то время как сервер работал на Java8, который использовал TLS версии 1.2.

Посетите этот блог oracle, в котором упоминается, что Java8 по умолчанию будет использовать TLS версии 1.2.

Итак, когда я обновил свой клиент для использования Java8, проблема была решена.

Надеюсь, это поможет и кому-то другому.

person Nikhil Katre    schedule 24.07.2016