本帖最后由 zzxzz00001 于 2014-12-15 17:37:21 编辑

解决方案 »

  1.   

    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
      

  2.   

    找到问题了
    tomcat配置的时候使用sslv3
    但是jre6默认协议是v2
    在java代码中使用指定握手协议为TLSv1即可握手通过
    System.setProperty("https.protocols", "TLSv1");
    但是新问题出现了
    System.setProperty("https.protocols", "SSLv3");
    无法通过握手
    只能指定TLSv1
      

  3.   

    原来是tomcat所有的最新版本默认禁用ssl连接器