简述:
SSL(百度百科)
Secure Socket Layer 安全套接层, 是为网络通信提供安全以及数据完整性的一种安全协议,在传输层对网络连接进行加密
SSL协议分为两层:
1)SSL记录协议,它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。
2)SSL握手协议,它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份验证、协商加密算法、交换加密密钥
SSL的核心是 公开密钥加密,这是种非对称密钥加密,其实直接地说就client和server各自生成一对加密密钥和解密密钥,各自吧加密密钥发给对方,这个是公开的私钥,解密方法保留在本地,加密方法传到对方那里
步骤:
1.生成server端密钥
keytool -genkey -alias serverkey -keystore key OfServer.keystore
之后会出现如下信息,
根据私钥导出服务端证书
keytool -export -alias serverkey -keystore keyOfServer.keystore -file server.crt
将服务端证书,加入客户端的认证证书列表中
keytool -import -alias serverkey -file server.crt -keystore trustOfClient.keystore
2:生成client端密钥
keytool -genkey -alias clientkey -keystore keyOfClient.keystore
根据私钥导出客户端证书
keytool -export -alias clientkey -keystore keyOfClient.keystore -file client.crt
将证书加到服务端信任列表
keytool -import -alias serverkey -file client.crt -keystore trustOfServer.keystore
至此,客户端和服务器端的证书都已经生成了