首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用数字证书保护网站(使用SSL)时,数字证书是如何工作的?

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

Stack Overflow用户
提问于 2009-04-25 12:24:58
回答 4查看 19.8K关注 0票数 21

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

我使用了一些HTTP嗅探器,并登录到gmail (登录页面是安全的),但没有看到请求到除google以外的任何网站,这是否意味着它只使用CA的根证书?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-04-25 12:39:13

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

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

接下来会发生什么取决于浏览器或操作系统配置。CA具有撤销列表功能(它可以是一个大列表,也可以是一个单独的服务(OCSP),您可以在其中询问证书是否仍然有效)。如果你的浏览器/操作系统被配置为检查这个,那么这个额外的步骤就会发生。

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

票数 6
EN

Stack Overflow用户

发布于 2009-04-25 12:33:51

证书颁发机构颁发使用私钥签名的证书。您的浏览器为一组受信任的CA存储相应的公钥。当您收到安全交易的请求时,您的浏览器会使用公钥检查证书(由您连接的主机提供)的根,以确保它确实是由匹配的私钥签名的。

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

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

票数 23
EN

Stack Overflow用户

发布于 2013-04-12 22:17:52

web浏览器具有它信任的根证书列表。这些是CA的公钥。浏览器说,您可以相信这些CA的私钥实际上是私有的,并且由这些私钥之一加密的任何东西--包括所谓的web服务器的证书--实际上都来自CA。

证书包含web服务器的公钥和web服务器的地址(以及公司名称等),由CA的私钥加密。此加密在网站所有者从CA购买证书时执行一次。在此之后,网站所有者会将证书保留在手边,以便在您发出https请求时发送给您。由于您的浏览器能够使用CA的公钥(已在您的计算机上)来解密web服务器发送的证书,并且在解密的证书中看到证书包含与https服务主机匹配的主机地址,因此浏览器会得出结论,认为主机的公钥(使用CA的公钥解密)是可信的。通常由web主机发出的证书可能仍然来自某个随机的人欺骗主机,但至少您可以确信它包含您要与之通信的https服务主机的可信公钥。

然后,您可以发送用主机的公钥加密的数据(如您的信用卡号码),只有主机的私钥才能解密您的数据。在交易过程中,不需要与CA通信。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/788808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档