通信端无需向对方证明自己的身份,则称该端处于“客户模式”,否则称其处于“服务器模式”,无论是客户端还是服务器端,都可处于“客户模式”或者“服务器模式”,但是对于通信双方来说,只能有一方处于“服务模式”,而另一方则必须处于“客户模式”
首先使用java自带的keytool工具生成所需的证书:
keytool -genkey -keystore D:\temp\socket\server.jks -storepass 1234sp -keyalg RSA -keypass 1234kp
keytool -genkey -keystore D:\temp\socket\client.jks -storepass 1234sp -keyalg RSA -keypass 1234kp
keytool -export -keystore D:\temp\socket\server.jks -storepass 1234sp -file D:\temp\socket\server.cer
keytool -export -keystore D:\temp\socket\client.jks -storepass 1234sp -file D:\temp\socket\client.cer
keytool -import -keystore D:\temp\socket\clientTrust.jks -storepass 1234sp -file D:\temp\socket\server.cer
keytool -import -keystore D:\temp\socket\serverTrust.jks -storepass 1234sp -file D:\temp\socket\client.cer