当使用数字证书保护网站时(使用SSL),数字证书是如何工作的?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (21)

请帮助我理解这个过程是如何进行的。我知道Web浏览器包含证书颁发机构(CA)的根证书,如VeriS传、EnTrust、Comodo...等等,但是当用户访问安全页面时会发生什么呢?Web浏览器是向CA的服务器发送请求来验证ceriticate,还是只使用CA的根证书(在浏览器中)来验证证书?

提问于
用户回答回答于

这取决于你的浏览器/OS配置。基本上,浏览器或操作系统有一个受信任的根权限列表(Mozilla有自己的列表,IE使用WindowsOne)。

当SSL握手发生时,将检查站点证书,以确定它是否由一个受信任的当局签名,以及服务器名称是否与证书中的服务器名称匹配。

接下来会发生什么取决于浏览器或OS配置。CA有一个吊销列表函数(它要么是一个大列表,要么是一个单独的服务(OCSP),可以在其中询问证书是否仍然良好)。如果你的Browser/OS被配置为检查这一点,那么就会发生这个额外的步骤。

Firefox和Windows默认情况下将检查OCSP服务,如果它们可用,默认情况下也不会检查CRL列表。

用户回答回答于

证书颁发机构发出用钥匙。你的浏览器存储相应的公众一堆可信的CA的钥匙。当收到安全事务请求时,浏览器会检查证书的根(由连接到的主机提供)和公钥,以确保它确实由匹配的私钥签名。

主机存储由受信任的第三方(CA)签名的证书,浏览器存储该第三方的公钥。当事务开始时,主机只需提供该证书,供浏览器验证。不需要由可信的第三方进行事务时间干预。

这与PGP这样的系统不同,在PGP系统中,必须与第三方联系,才能获得与你通信的任何人的公钥。这些系统可以不同的工作方式,因为使用PGP您正在加密/解密数据。使用证书,你所做的只是验证身份。

扫码关注云+社区