HTTPS那些事

https握手的过程

基于Wireshark抓包获取数据。

1)Client Hello  客户端向服务端发送数据,包含客户端支持SSL协议的版本号、随机数、加密算法,压缩算法列表等

版本   随机数(Random1)会话ID  加密算法列表    压缩方法列表
主、从时间、随机字节长度、ID长度、套件列表长度、列表

2)Server Hello 服务端向客户端发送数据,包含确定选择的加密套件、随机数等

版本   随机数(Random2)会话ID  选定的加密套件选定的压缩方法
主、从时间、随机字节长度、ID  

此时客户端和服务端都拥有了两个随机数(Random1 、Random2) 

3)服务端向客户端发送certificate信息(完整的证书链信息)、Server Key Exchange(包含密钥交换算法所需要的额外参数)、Certificate Request(服务端要求客户端上报证书,可选)

4)Server Hello Done 通知客户端Server Hello过程结束

5)Certificate Verify  客户端接收到服务端传来的证书后,从CA验证该证书的合法性。验证通过后取出证书中的服务端公钥,再生成一个随机数Random3,再用服务端公钥非对称加密Random3生成PreMaster Key。

Client Key Exchange 将上面客户端产生的PreMaster Key 传给服务端,服务端再用自己的私钥解出这个PreMaster Key 得到客户端生成的Random3。这样服务端和客户端都拥有了Random1、Random2、Random3.

参考:

https://blog.csdn.net/weiyuefei/article/details/72547090

https://www.jianshu.com/p/7158568e4867

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值