HTTPS建立连接的详细过程 (HTTPS的握手过程)

简介

HTTPS是在HTTP的基础上和 ssl/tls 证书结合起来的一种协议,保证了传输过程中的安全性,减少了被恶意劫持的可能.很好的 解决了http的三个缺点(被监听、被篡改、被伪装)

对称加密和非对称加密

    对称加密 即加密的密钥和解密的密钥相同 非对称加密 非对称加密将密钥分为公钥和私钥,公钥可以公开,私钥需要保密,客户端公钥加密的数据,服务端可以通过私钥来解密

建立连接

    HTTP和HTTPS都需要在建立连接的基础上来进行数据传输,是基本操作 当客户在浏览器中输入网址的并且按下回车,浏览器会在浏览器DNS缓存,本地DNS缓存,和Hosts中寻找对应的记录,如果没有获取到则会请求DNS服务来获取对应的ip 当获取到ip后,tcp连接会进行三次握手建立连接

过程简图如下:

具体的步骤总结:

1、在使用HTTPS时需要保证服务端配置正确了对应的安全证书

2、客户端发送请求到服务端

3、服务端返回公钥和证书到客户端

4、客户端接收后会验证证书的安全性,如果通过则会随机生成一个随机数,用公钥对其加密,发送到服务端

5、服务端接受到这个加密后的随机数后会用私钥对其解密得到真正的随机数,随后用这个随机数当做私钥对需要发送的数据进行对称加密

6、客户端在接收到加密后的数据使用私钥(即生成的随机值)对数据进行解密并且解析数据呈现结果给客户

7、SSL加密建立

经验分享 程序员 微信小程序 职场和发展