com.caucho.hessian.client.HessianRuntimeException: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure at com.caucho.hessian.client.HessianProxy.sendRequest(HessianProxy.java:281) at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:171) at $Proxy0.SayHello(Unknown Source) at com.broada.hessian.ClientTest.main(ClientTest.java:27) Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174) at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1839) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1019) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1203) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1230) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1214) at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:434) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166) at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1014) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:230) at com.caucho.hessian.client.HessianURLConnection.getOutputStream(HessianURLConnection.java:97) at com.caucho.hessian.client.HessianProxy.sendRequest(HessianProxy.java:279) ... 3 more
at com.caucho.hessian.client.HessianProxy.sendRequest(HessianProxy.java:281)
at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:171)
at $Proxy0.SayHello(Unknown Source)
at com.broada.hessian.ClientTest.main(ClientTest.java:27)
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1839)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1019)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1203)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1230)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1214)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:434)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1014)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:230)
at com.caucho.hessian.client.HessianURLConnection.getOutputStream(HessianURLConnection.java:97)
at com.caucho.hessian.client.HessianProxy.sendRequest(HessianProxy.java:279)
... 3 more
tomcat配置的时候使用sslv3
但是jre6默认协议是v2
在java代码中使用指定握手协议为TLSv1即可握手通过
System.setProperty("https.protocols", "TLSv1");
但是新问题出现了
System.setProperty("https.protocols", "SSLv3");
无法通过握手
只能指定TLSv1