Tag: handshake

如何使Java 6与“SSL对等关闭不正确”的SSL连接失败,成功与Java 7一样?

我看到运行Java 6的客户端的SSL连接失败,例外情况如下: Caused by: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:882) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1188) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1215) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1199) 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.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:133) … 35 more Caused by: java.io.EOFException: SSL peer shut down incorrectly at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:462) at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:863) … 41 more 该服务器是一个基于Tomcat 7的应用程序,在Java 7,Linux和Amazon EC2上运行,这是值得的。 我已经找到了很多关于可能的casues的建议,包括偶然连接到非SSL端口等等。我相信我已经把它全部排除了,主要是因为完全相同的客户端在运行Java 7时没有任何变化 。 (两种情况下都是OS X.) 下面我将介绍Java 6的调试输出和Java 7的SSL连接过程。 […]