为了实现消息认证。
Server 需要:
1)KeyStore: 其中保存服务端的私钥
2)Trust KeyStore:其中保存客户端的授权证书
Client 需要:
1)KeyStore:其中保存客户端的私钥
2)Trust KeyStore:其中保存服务端的授权证书
使用 Java 自带的 keytool 命令,去生成这样信息文件:
1)生成服务端私钥,并且导入到服务端 KeyStore 文件中
keytool -genkey -alias serverkey -keystore kserver.keystore
2)根据私钥,导出服务端证书
keytool -export -alias serverkey -keystore kserver.keystore -file server.crt
3)将服务端证书,导入到客户端的 Trust KeyStore 中
keytool -import -alias serverkey -file server.crt -keystore tclient.keystore
采用同样的方法,生成客户端的私钥,客户端的证书,并且导入到服务端的 Trust KeyStore 中
1)keytool -genkey -alias clientkey -keystore kclient.keystore
2)keytool -export -alias clientkey -keystore kclient.keystore -file client.crt
3)keytool -import -alias clientkey -file client.crt -keystore tserver.keystore
Server:
Java 代码
1. packagessl;
2.
3.
4. importjava.io.BufferedInputStream;
5. importjava.io.BufferedOutputStream;
6. importjava.io.FileInputStream;
7. importjava.io.InputStream;
8. importjava.io.OutputStream;
9. importjava.net.Socket;
10. importjava.security.KeyStore;
评论0