日期:2014-05-20  浏览次数:26671 次

Java ssl连接异常,SSL peer shut down incorrectly
我的项目现在需要ssl方式访问授权的api

1.在CA机构申请的数字证书、根证书、二级证书都已经按要求导入到 myproject.keystore文件。
2.接口方的公钥也已经导入myproject.trustore文件。
3.使用openssl在授权服务器测试连接正常。
4.使用接口方提供的测试demo在本地环境进行连接测试异常(ssh代理方式连接)。异常应该不会是代理的缘故,https可以通过代理方式访问。

贴出来异常,请熟悉ssl机制或者做过这方面项目的朋友帮忙指点下大概可能是哪里的问题:

javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:912)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1294)
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:848)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:102)
at sun.security.ssl.AppInputStream.read(AppInputStream.java:69)
at com.neulevel.epp.transport.EppMessageUtil.getEppPayloadSize(EppMessageUtil.java:199)
at com.neulevel.epp.transport.EppMessageUtil.getEppPayload(EppMessageUtil.java:234)
at com.neulevel.epp.transport.tcp.EppSessionTcp.connect(EppSessionTcp.java:255)
at EppTestClient.main(EppTestClient.java:85)
Caused by: java.io.EOFException: SSL peer shut down incorrectly
at sun.security.ssl.InputRecord.read(InputRecord.java:352)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:893)
... 8 more


ssl配置

ssl.client.authentication=true
#
# For JSSE
#
ssl.keymanager.algorithm=SunX509
#ssl.keymanager.provider=SUN
ssl.keystore.type=JKS
ssl.keystore.provider=SUN
ssl.keystore.format=file
ssl.keystore.name=myproject.keystore
ssl.keystore.storepass=mypro123
ssl.keystore.keypass=mypro123
ssl.trustmanager.algorithm=SunX509
#ssl.trustmanager.provider=SUN
ssl.truststore.type=JKS
ssl.truststore.provider=SUN
ssl.truststore.format=file
ssl.truststore.name=myproject.trustore
ssl.truststore.storepass=changeit
ssl java 数字证书 java?ssl jks

------解决方案--------------------
到家了。。。
------解决方案--------------------
先用curl 试一试,看看会出什么问题。

curl你可以指定 POST什么内容,Header,-k什么证书什么的。

然后再写代码。
------解决方案--------------------
应该是端口问题。你用的是多少
------解决方案--------------------
改为8181和636是下。(8001被tomcat占用了)
------解决方案--------------------
Remote host closed connection during handshake

这个就说明,SSL连接都没有成功。

可能是证书验证不对。