У меня есть программа на Java, которая подключается к веб-серверу по протоколу SSL / TLS и отправляет различные HTTP-запросы по этому соединению.Сервер является локальным и использует самозаверяющий сертификат, но мой код использует пользовательские TrustManager и игнорирует недействительные сертификаты.До сих пор он работал отлично.
Единственное отличие на сервере состоит в том, что он работал для запуска jboss 6 и теперь работает под управлением jboss 7. Я не уверен, является ли это проблемой конфигурации, или есть липроблема с моим кодом, но я получаю те же ошибки, если пытаюсь подключиться с помощью других программ на Java, таких как WebScarab или ZAP.
В любом случае, могу ли я что-нибудь сделать с кодом, чтобы обойтиЭта проблема?Вот полная ошибка:
Received fatal alert: handshake_failure
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source)
Вот сообщения отладки до сбоя:
main, WRITE: TLSv1 Handshake, length = 75
main, WRITE: SSLv2 client hello message, length = 101
main, READ: TLSv1 Alert, length = 2
main, RECV TLSv1 ALERT: fatal, handshake_failure