首页 > Web开发 > 详细

Https简单流程

时间:2021-01-25 14:13:34      阅读:29      评论:0      收藏:0      [点我收藏+]

  最近看到不少同学在网上写的面经,很多公司都会问到HTTPS,昨晚晚上臭儿子睡了之后花了大概一个小时读了两篇文章,算是把过程理清楚了,今天就写写总结

  技术分享图片

  1 客户端也就是浏览器请求一个url,比如是https://baidu.com 

  2 server端收到请求后,第一件事就是把自己的公钥传给客户端,但是传公钥不能直接传,直接传不安全

  示意图如下

  技术分享图片

  所以传递公钥必须通过数字证书的方式

  技术分享图片

  技术分享图片

  首先证书里包含这网站的公钥,但是客户端在收到证书的时候首先要验证证书的合法性。

  验证的逻辑是客户端本地会有一些新来的证书,这部分是操作系统已经处理过的。当收到证书之后,浏览器会对明文部分,也就是上图里除了证书颁发者签名之前的部分,进行MD5算法进行摘要处理。摘要算法是公开的,这部分不需要担心。同时利用本地已经有的值得信任的证书的公钥部分对签名进行解密,解出来的也是摘要信息。然后比较两边的摘要信息是否一致。如果一致那么证书里带的server的公钥就是可以用的

  3 client会对本次session产生一个密钥,在把密钥传给server之前利用刚刚拿到的server公钥对该密钥进行加密,然后对加密后的密钥进行传入

  4 server端拿到了该密钥之后,使用自己的私钥进行解密,解出来的就是client的密钥

  5 把client要的内容 利用client的密钥进行加密,然后传入给client

  6 client拿到了内容后使用自己的私钥进行解密,同时展示内容

Https简单流程

原文:https://www.cnblogs.com/juniorMa/p/14324470.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!