关于证书的一个问题

我的疑问来自知乎上的一个提问 浏览器如何验证HTTPS证书的合法性?,它其中有提到

Snipaste_2022-03-31_20-42-05.png

这个请求是直接外网请求么?(我的分析是外网请求,但不确定)

希望有懂的大兄弟指点一下。

阅读 2k
1 个回答

是的,就是外网请求。

但这里其实不太严谨,不是向 CA 请求证书,而是向这个证书里包含的一个地址去请求,至于是不是真的 CA 就不一定了。

https://www.myssl.cn/home/art...

可以看本文《客户端自动下载中间证书》、《服务器推送中间证书》这两个部分。

一般来说你访问的网站服务器中除了要部署该网站自己的证书外,还要部署该证书链中所有的中间证书。

另外不同的操作系统、不同的浏览器会有单独的中间证书管理策略,比如缓存一段时间什么的,就不用每次请求都重新去下载一遍了。


以下是原答案。刚开始审错题了,以为是问怎么向 CA 验证证书,其实是问怎么获取中间证书 😂。虽然答错了,但内容是对的,题主感兴趣也可以自己看看。

是的,就是外网请求,这个请求叫 OCSP 请求,但用的就不是 HTTP/HTTPS 这种协议了、而是专有的 OCSP 协议(Online Certificate Status Protocol,在线证书状态协议)。

不过一般来说大部分网站的中间证书也是会内置到操作系统中的,它们的维护和更新由操作系统决定,浏览器只需要从本地读取就可以了,无需发送请求。

P.S. 古早时期还有 CRL(Certificate Revocation List,证书吊销列表),不过现在都已经被 OCSP 取代了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进