浅出https的加密过程
标签:
JavaScript
https其实就是建构在SSL/TLS之上的 http协议,所以https比http要占用更多的资源
http使用TCP 三次握手建立连接,客户端和服务器需要交换3个包,https除了 TCP 的三个包,还要加上 ssl握手需要的9个包,所以一共是12个包。
HTTPS就是在安全的传输层上发送的HTTP。HTTPS没有将未加密的HTTP报文发送给TCP它在将HTTP报文发送给TCP之前,先将其发送给了一个安全层,对其进行加密如图:
image.png
过程简述
1.客户端发起HTTPS请求
2.服务器将公钥返回给客户端
3.浏览器接收到服务器公钥
浏览器收到公钥后会对公钥进行一系列的验证,如:颁发机构,过期时间等等。认证失败会有警告,比如上面说的我们自己生成的证书,不是授信组织办法。成功的话,会生成一个随机值作为对称加密的密钥稍后还会提及到。用服务器返回的公钥对这个随机值进行加密
4.加密后的随机值发送到服务器
5.客户端与服务器进行加密通信
客户端和服务器端信息数据通信,就是秘钥为随机值的,对称加密了
作者:EdmundChen
链接:https://www.jianshu.com/p/30ecac6f1c1e
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦