单向验证

客户端发起连接TCP三次握手建立连接后,客户端告诉服务器ssl版本,服务器返回ssl版本及公钥,客户端验证公钥,客户端将本地支持的加密算法告诉服务器,服务器选择一种返回给客户端,客户端再用公钥加密本地生成的私钥发给服务端,服务端解密后用获得的私钥加密消息互相发送。

 

双向验证:

客户端发起连接TCP三次握手建立连接后,客户端告诉服务器ssl版本,服务端返回ssl版本及公钥,客户端验证公钥,客户端将自己的公钥发送给服务端,服务端验证公钥,客户端将本地支持的加密算法告诉服务端,服务端选择一种加密算法后用客户端公钥加密返回给客户端,客户端解密获得加密算法,客户端再用服务端公钥加密本地生成的对称加密的私钥发给服务端,服务端解密后用获得的私钥加密消息互相发送。

 

https重点:

客户端需要把自己生成的对称加密的私钥传给服务端,双方用私钥加密消息通信。

 

单向验证与双向验证的区别:

单向验证客户端不提供客户端公钥,服务端选择的加密算法明文传输给客户端。

双向验证客户端提供客户端公钥,服务端用客户端公钥加密"选择的加密算法"传输给客户端。

 

charles抓包原理

对于客户端来说它是服务器,对于目标服务器来说它是客户端。

posted on 2019-10-04 15:21  ximenchuixie  阅读(137)  评论(0编辑  收藏  举报