我一直在阅读关于x.509证书的文章,我就是不太明白整个过程是如何工作的。
所以我是这样理解它的: CA是一些生产证书的公司。有人想要使用一个,如银行网站,联系CA并购买包含公钥的证书来对网站的消息进行编码,该证书只能通过站点私钥进行解码。
这就是我感到困惑的地方--用户(一些web浏览器)如何检查它收到的证书是否真的是真的,并且确实来自正确的站点?它怎么知道它仍然有效?要进行什么样的检查以确保一切正常?
发布于 2013-09-29 01:20:37
CA不仅对服务器(银行网站)的证书进行签名,而且还具有自己的证书(其证书由...签名的CA )根CA。根CA将其证书提供给浏览器供应商,浏览器供应商将其包含在其受信任的根证书集中。
整个事情都建立在“信任链”的概念上:签署证书意味着“如果你信任我(根CA或中间CA),那么你就可以信任他(中间CA或服务器)”。您的浏览器只需要信任根CA (它拥有根CA的证书),就能够找出它是否可以信任服务器(银行网站)。请参阅https://en.wikipedia.org/wiki/Chain_of_trust
证书可能会失效,例如由于安全漏洞(例如私钥被盗)。这样的事件被指示给CA,CA公开地提供该信息。浏览器可以通过证书吊销列表(CRL)或在线证书状态协议(OCSP)访问此信息。浏览器应该配置为不接受它无法验证为仍然有效的证书。请参阅https://en.wikipedia.org/wiki/Online_Certificate_Status_Protocol
https://stackoverflow.com/questions/19069359
复制相似问题