HTTPS 的工作过程?

1、 客户端发送自己支持的加密规则给服务器,代表告诉服务器要进行连接了;

2、 服务器从中选出一套加密算法和 hash 算法以及自己的身份信息(地址等)以证书的形式发送给浏览器,证书中包含服务器信息,加密公钥,证书的办法机构;

3、客户端收到网站的证书之后要做下面的事情:

  • 验证证书的合法性;

  • 如果验证通过证书,浏览器会生成一串随机数,并用证书中的公钥进行加密;

  • 用约定好的 hash 算法计算握手消息,然后用生成的密钥进行加密,然后一起发送给服务器。

4、服务器接收到客户端传送来的信息,要做下面的事情:

  • 4.1 用私钥解析出密码,用密码解析握手消息,验证 hash 值是否和浏览器发来的一致;
  • 4.2 使用密钥加密消息;

5、如果计算法 hash 值一致,握手成功。

发表评论

后才能评论

评论(4)