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

阅读更多
个人分类: HTTPS
想对作者说点什么? 我来说一句

HTTPS那些事(详细原理)

2014年01月21日 56KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭