【面试题】请描述 HTTPS 握手过程

46 阅读1分钟

http请求的缺点:

  • 1、明文传输,内容可能被窃听(容易造成密码等数据泄露)
  • 2、无法验证通信方身份,有可能草鱼伪装(跨站点请求伪造)
  • 3、无法验证内容的完整性,有可能被篡改(运营商劫持)

https握手过程:

1、客户端发起https请求

  • 输入url,与服务器建立ssl连接

2、服务端响应

  • 服务器接收到响应后,判断加密通信协议版本是否一致,一致则返回服务器证书,否则关闭加密通道。

3、客户端解析证书

  • 客户端收到网站证书后会检查证书的颁发机构以及过期时间, 如果没有问题就随机产生一个秘钥

4、客户端传输密钥给服务端

  • 客户端利用公钥将秘钥加密, 并传输给服务端

5、服务端解密

  • 服务端利用自己的私钥解密秘钥

6、完成加密过程

  • 之后服务器与客户端使用秘钥加密传输

内容出处:github.com/noxussj/Int…