服务端保存一对公钥与私钥。是用来进行非对称加密使用的。私钥不能将其泄漏,公钥可以传输给任何人。

 

 

  1. 浏览器向服务器发起HTTPS请求,向服务器的443端口链接。服务器将公钥发送给浏览器
  2. 浏览器收到公钥后,将验证公钥合法性。如果公钥不合法,将无法发起https传输。换言之,验证https数字证书。
  3. 证书合法,浏览器生成随机值(client key 客户端** 对称加密传输使用)。然后浏览器调用公钥,对client key进行非对称加密-- 第一次http请求结束
  4. 客户端将加密后的client key 发送给服务器。
  5. 服务器收到浏览器传输来的加密client key ,会用自己的私钥对其进行非对称解密。解密后的明文就是client key。然后利用client key 对数据进行对称加密。并将加密的数据传输给浏览器。
  6. 浏览器收到服务器的加密数据。利用client key 对其进行对称解密。得到服务器传输的数据。
  7. https 协议传输过程学习

相关文章: