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证书验证过程的主要内容,如果未能解决你的问题,请参考以下文章
X509Certificate2.Verify() 出错但证书正在工作
使用 node.js 验证带有 CA 证书的 X509 证书
让 Grails、Spring Security Core Plugin 和 Tomcat 使用 X.509 证书身份验证