加餐六|HTTPS:浏览器如何验证数字证书?
李兵
该思维导图由 AI 生成,仅供参考
你好,我是李兵。
HTTPS 使用了对称和非对称的混合加密方式,这解决了数据传输安全的问题;
HTTPS 引入了中间机构 CA,CA 通过给服务器颁发数字证书,解决了浏览器对服务器的信任问题;
服务器向 CA 机构申请证书的流程;
浏览器验证服务器数字证书的流程。
不过由于篇幅限制,关于“浏览器如何验证数字证书”的这个问题我们并没有展开介绍。那么今天我们就继续聊一聊这个问题。了解了这个问题,可以方便我们把完整的 HTTPS 流程给串起来,无论对于我们理解 HTTPS 的底层技术还是理解业务都是非常有帮助的。
因为本文是第 36 讲的延伸,所以在分析之前,我们还是有必要回顾下数字证书申请流程和浏览器验证证书的流程,同时你最好也能回顾下第 36 讲。
数字证书申请流程
我们先来回顾下数字证书的申请流程,比如极客时间向一个 CA 机构申请数字证书,流程是什么样的呢?
首先极客时间填写了一张含有自己身份信息的表单,身份信息包括了自己公钥、站点资料、公司资料等信息,然后将其提交给了 CA 机构;CA 机构会审核表单中内容的真实性;审核通过后,CA 机构会拿出自己的私钥,对表单的内容进行一连串操作,包括了对明文资料进行 Hash 计算得出信息摘要, 利用 CA 的私钥加密信息摘要得出数字签名,最后将数字签名也写在表单上,并将其返还给极客时间,这样就完成了一次数字证书的申请操作。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
HTTPS是一种安全的数据传输协议,通过对称和非对称的混合加密方式解决了数据传输安全的问题。为了建立信任,HTTPS引入了中间机构CA,通过数字证书来验证服务器的身份。浏览器验证数字证书的有效性,包括证书的有效期、CA的合法性以及证书链的完整性。浏览器默认信任操作系统内置的根证书,但这也带来了安全隐患。HTTPS虽然加固了安全性,但并非绝对安全,仍存在被攻破的可能。文章介绍了数字证书的申请流程和浏览器验证证书的流程,强调了HTTPS的安全性和局限性。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《浏览器工作原理与实践》,新⼈⾸单¥59
《浏览器工作原理与实践》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(26)
- 最新
- 精选
- 世界和平工作两年,对很多前端知识有的还是比较乱的,一知半解禁不住深究,老师的课程帮助很好的梳理了这些知识,也详细的讲解了,让我有了系统的认知,也为之后的继续学习提供了方向,非常的感谢老师,很值。已经推荐给朋友,以后如果老师再出课,也会继续跟着学习。 我不是托,我不是托,我就是真诚的表示一下感谢。谢谢 ~
作者回复: 🤝
2019-12-2037 - 雨儿老师太好了,每天都会看看,是否老师有新的更新,期待老师不定期能更新一些
作者回复: 现在在写新专栏,暂时没办法更新了浏览器专栏了
2020-01-112 - pacos期待老师的 Promise 加餐2020-01-0511
- 极客时间盗版的操作系统也有可能安装了恶意根证书啊,所以大家支持正版吧2019-12-2517
- 林浩总结: 浏览器怎么验证证书? 一般通过 验证证书有效期, 证书是否被CA吊销,证书是否是合法CA机构颁发 如何验证证书有效期? 证书里面包含有效期 如何获知证书被吊销? 1. 下载吊销证书列表 2. 在线验证 如何证明是合法CA机构? 1. 通过证书原始信息(hash)计算消息摘要 2. 利用CA公钥解密证书中的数字签名,得到消息摘要 3. 将两者进行对比 浏览器怎么拿到CA公钥? 服务器部署时,除了当前数字证书外,还需要部署CA证书,CA证书上就包含了CA公钥,当建立HTTPS连接时,服务器会往浏览器发送两个证书,如果服务器上没有部署CA证书,浏览器会通过网络下载CA证书,也可以拿到CA公钥 这里只证明了CA公钥的来源,怎么知道它是合法机构? 很遗憾没有!退而求其次,计算机操作系统内置了一些颁发证书的机构,但因为机构众多不可能这么处理,所以将证书分成了“根CA”和“中间CA”,一个“根CA”会有多个“中间CA”,“根”给“中间”做认证 怎么知道根证书的合法性? 要成为“根CA”需要得到“Web Trust”认证通过才会内置到操作系统中,Web Trust 包括两个机构(AICPA【美国注册会计师协会】和 CICA【加拿大注册会计师协会】) 如果操作系统被入侵如何保证跟证书合法性? 凉凉。。。2020-10-104
- 3Spiders这篇文章就解决了客户端验证服务器正确性的问题。但是我有一个小疑问,如果我伪造了一个客户端,同时拿到数字签名和CA公钥,通过CA公钥解密数字信息,这样是否能骗取服务端的信任?老师可以讲讲这中间的细节吗?2020-01-0184
- Geek_c9436e我看完了,酣畅淋漓的感觉,满满干货,意犹未尽啊,给老师点赞,希望继续学习老师的课!2020-09-152
- 3Spiders我感觉老师这篇是看到了我之前的留言,专门延伸的一篇文章,点赞!2020-01-0112
- 花仙子众所周知,青花瓷工作原理就是在个人主机上设置了一个代理,浏览器信任代理,代理验证并信任服务器的证书,所以可以在青花瓷中看到https的请求内容,同样原理,有没有可能在我们的浏览器在访问服务器之间设置一个代理,而致使浏览器无知觉的先请求到”代理服务器“,而”代理服务器“也拥有CA颁发的合法证书,”代理服务器“可以肆无忌惮的查看甚至修改浏览器与服务器间的通信2019-12-3012
- 杰森莫玛那CA机构的数字证书到底是操作系统内置的还是服务端传过来的呢?2023-05-14归属地:上海11
收起评论