我正在尝试对由内部CA签名的服务器进行https调用 . 我现在还没有设置信任管理器来信任所有证书和禁用主机名验证 .
curl --insecure 通话有效 .
使用 -Djavax.net.debug=all ,客户端问候后握手失败

*** ClientHello,TLSv1 ...... main,READ:TLSv1 Alert,length = 2 main,RECV TLSv1 ALERT:致命,handshake_failure main,名为closeSocket()main,处理异常:javax.net.ssl.SSLHandshakeException :收到致命警报:handshake_failure main,名为close()main,名为closeInternal(true)

堆栈跟踪是:

javax.net.ssl.SSLHandshakeException:在sun.security.ssl.Alerts.getSSLException(Alerts.java:154)的sun.security.ssl.Alerts.getSSLException(Alerts.java:192)收到致命警报:handshake_failure .security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1959)at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1077)at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)at at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)

我正在使用SSL上下文

SSLContext sslContext = SSLContext.getInstance("TLS");

任何帮助将受到高度赞赏 .

PS:我正在使用 java7