在使用Socket SSL双向链接时,客户端能够链接上服务端,java
但传输数据时报错javax.net.ssl.SSLHandshakeException: null cert chain服务器
缘由是使用的KeyStore文件不对spa
首先建立服务器端私有密钥和公共密钥
1, keytool -genkey -alias serverkey -keystore kserver.ks
2, keytool -export -alias serverkey -keystore kserver.ks -file server.crt
3, keytool -import -alias serverkey -file server.crt -keystore tclient.ks
下面建立客户器端私有密钥和公共密钥
1, keytool -genkey -alias clientkey -keystore kclient.ks
2, keytool -export -alias clientkey -keystore kclient.ks -file client.crt
3, keytool -import -alias clientkey -file client.crt -keystore tserver.ks.net
经过以上方式生成的密钥文件,server端应使用kserver.ks和tserver.ks,client端应使用kclient.ks和tclient.ksserver