X.509证书验证过程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了X.509证书验证过程相关的知识,希望对你有一定的参考价值。

我一直在阅读x.509证书,我只是不知道整个过程是如何工作的。

所以这就是我的理解:CA是一家生产证书的公司。想要使用其中一个的人,如银行网站,联系CA并购买包含公钥的证书,以对网站的消息进行编码,该消息只能由网站私钥解码。

这是我感到困惑的地方 - 用户(某些网络浏览器)如何检查它收到的证书是否真的是真的来自正确的网站?怎么知道它仍然有效?进行了哪些检查以确保一切正常?

答案

CA不仅签署服务器(银行网站)的证书,而且还有自己的证书(由CA签署的证书由CA签署)根CA.根CA将其证书提供给浏览器供应商,该供应商将其包含在其受信任的根证书集中。

整个事情建立在“信任链”的概念之上:签署证书意味着“如果您信任我(根或中间CA),那么您可以信任他(中间CA或服务器)”。您的浏览器只需要信任根CA(它有证书)就可以找出它是否可以信任服务器(银行网站)。见https://en.wikipedia.org/wiki/Chain_of_trust

证书可能无效,例如由于安全漏洞(例如私钥被盗)。向CA提供此类事件,公开提供此信息。浏览器可以通过证书吊销列表(CRL)或在线证书状态协议(OCSP)访问此信息。浏览器的配置方式应使其不接受无法验证的证书仍然有效。见https://en.wikipedia.org/wiki/Online_Certificate_Status_Protocol

以上是关于X.509证书验证过程的主要内容,如果未能解决你的问题,请参考以下文章

如何在节点中使用 x.509 证书验证 JWT 令牌?

X509Certificate2.Verify() 出错但证书正在工作

使用 node.js 验证带有 CA 证书的 X509 证书

让 Grails、Spring Security Core Plugin 和 Tomcat 使用 X.509 证书身份验证

X509VerificationFlags.IgnoreEndRevocationUnknown做什么?

[信息安全] 05 X.509 公钥证书的格式标准