在使用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