浏览器工作原理与实践
李兵
前盛大创新院高级研究员
56402 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 46 讲
浏览器工作原理与实践
15
15
1.0x
00:00/00:00
登录|注册

加餐六|HTTPS:浏览器如何验证数字证书?

证书是否是合法的CA机构颁发的
证书是否被CA吊销
证书的有效期
验证根证书的合法性
数字证书链
证明CA机构的合法性
浏览器如何获取到CA公钥
浏览器验证服务器数字证书的流程
服务器向CA机构申请证书的流程
中间机构CA
对称和非对称的混合加密方式
HTTPS

该思维导图由 AI 生成,仅供参考

你好,我是李兵。
在《36|HTTPS:让数据传输更安全》这篇文章中,我们聊了下面几个问题:
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
立即购买
登录 后留言

全部留言(26)

  • 最新
  • 精选
  • 世界和平
    工作两年,对很多前端知识有的还是比较乱的,一知半解禁不住深究,老师的课程帮助很好的梳理了这些知识,也详细的讲解了,让我有了系统的认知,也为之后的继续学习提供了方向,非常的感谢老师,很值。已经推荐给朋友,以后如果老师再出课,也会继续跟着学习。 我不是托,我不是托,我就是真诚的表示一下感谢。谢谢 ~

    作者回复: 🤝

    2019-12-20
    37
  • 雨儿
    老师太好了,每天都会看看,是否老师有新的更新,期待老师不定期能更新一些

    作者回复: 现在在写新专栏,暂时没办法更新了浏览器专栏了

    2020-01-11
    2
  • pacos
    期待老师的 Promise 加餐
    2020-01-05
    11
  • 极客时间
    盗版的操作系统也有可能安装了恶意根证书啊,所以大家支持正版吧
    2019-12-25
    1
    7
  • 林浩
    总结: 浏览器怎么验证证书? 一般通过 验证证书有效期, 证书是否被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-10
    4
  • 3Spiders
    这篇文章就解决了客户端验证服务器正确性的问题。但是我有一个小疑问,如果我伪造了一个客户端,同时拿到数字签名和CA公钥,通过CA公钥解密数字信息,这样是否能骗取服务端的信任?老师可以讲讲这中间的细节吗?
    2020-01-01
    8
    4
  • Geek_c9436e
    我看完了,酣畅淋漓的感觉,满满干货,意犹未尽啊,给老师点赞,希望继续学习老师的课!
    2020-09-15
    2
  • 3Spiders
    我感觉老师这篇是看到了我之前的留言,专门延伸的一篇文章,点赞!
    2020-01-01
    1
    2
  • 花仙子
    众所周知,青花瓷工作原理就是在个人主机上设置了一个代理,浏览器信任代理,代理验证并信任服务器的证书,所以可以在青花瓷中看到https的请求内容,同样原理,有没有可能在我们的浏览器在访问服务器之间设置一个代理,而致使浏览器无知觉的先请求到”代理服务器“,而”代理服务器“也拥有CA颁发的合法证书,”代理服务器“可以肆无忌惮的查看甚至修改浏览器与服务器间的通信
    2019-12-30
    1
    2
  • 杰森莫玛
    那CA机构的数字证书到底是操作系统内置的还是服务端传过来的呢?
    2023-05-14归属地:上海
    1
    1
收起评论
显示
设置
留言
26
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部