1.概述
他的作用就是加密传输时的数据保证数据不会被窃取.
密钥作用:假如使用公钥加密,就需要私钥去解密.相反,私钥加密,就需要公钥去解密
密钥都是来自于密钥库中的.
2.具体流程
前提工作,双边进行版本数据算法交流如果是一致的,那么开启第二步,
双边验证身份:假如客户端发起请求数据密匙对,服务端接收后从信任库中查找,是否在信任库中,如果是则接收.同理也一样.
也可以单边验证.
数据加密解密:当前两步验证成功了,那么客户端可以通过密钥对数据流进行加密了,服务端接收后通过密钥进行解密就ok了.
3.开始生成密钥
java有两种生成签名证书掌握一种即可.
客户端生成密钥库导出签名证书后将证书添加到服务端信任库中,那么客户端就可以对服务端发送数据了.
同理服务端也一样即可实现双向通信了.
首先使用java keytool生成签名证书
生成密匙库证书以及认证库.
服务端
keytool -genkey -alias serverkey -keystore Server.jks
keytool -export -alias serverkey -keystore Server.jks -file server.crt
keytool -import -alias serverkey -file server.crt -keystore trustOfClient.jks
哭护短
keytool -genkey -alias clientkey -keystore keyOfClient.jks
keytool -export -alias clientkey -keystore keyOfClient.jks -file client.crt
keytool -import -alias serverkey -file client.crt -keystore trustOfServer.jks
第二种方法生成ca