我正在尝试对由内部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