HTTPS握手执行流程
https握手流程图
交互过程
数据传输过程分两个阶段
1.握手阶段---非对称加密
- client hello (客户端 -> 服务端,携带支持的加密套件数组,支持的SSL版本,Random_c)
- Server Hello (服务端 -> 客户端,携带选定的合适的加密套件,公钥,证书,Random_s)
-
validation (客户端 , 解析服务端公钥和证书,验证证书的合法信,是否信任)
-
Client Key exchange (客户端 -> 服务端,密钥传输,客户端生成随机数 pre_master作为加密密钥,公钥(服务端)加密后传递给服务端)
- decryption (服务端,使用私钥解密数据得到 pre_master,加上之前的randoms和randomc得到最好的加密密钥)
2.数据传输阶段 --- 对称加密
两边得到了相同的加密密钥,使用加密密钥进行加解密做数据传输