ssl证书如何验证?

安全验证ssl证书需要执行哪些步骤?我的理解(非常有限)是,当您访问https站点时,服务器将证书发送给客户端(浏览器),浏览器从该证书获取证书的颁发者信息,然后使用该信息与颁发者联系,并以某种方式进行比较有效性证书。

  • 这到底是怎么做的?

  • 该过程如何使它免受中间人攻击?

  • 是什么阻止一些随机的人设置自己的验证服务以用于中间人攻击,从而使一切“看起来”都是安全的?


心有法竹
浏览 874回答 3
3回答

慕雪6442864

这是一个非常简单的解释:您的Web浏览器将下载Web服务器的证书,其中包含Web服务器的公钥。该证书使用受信任的证书颁发机构的私钥签名。Web浏览器自带安装了所有主要的证书颁发机构的公钥。它使用此公用密钥来验证Web服务器的证书确实由受信任的证书颁发机构签名。证书包含Web服务器的域名和/或IP地址。您的Web浏览器通过证书颁发机构确认证书中列出的地址是它具有打开连接的地址。您的网络浏览器会生成一个共享对称密钥,该对称密钥将用于加密此连接上的HTTP流量;这比对所有内容使用公钥/私钥加密要有效得多。您的浏览器使用Web服务器的公共密钥加密对称密钥,然后将其发送回去,从而确保只有Web服务器可以对其进行解密,因为只有Web服务器具有其私钥。请注意,证书颁发机构(CA)对于防止中间人攻击至关重要。但是,即使未签名的证书也将阻止某人被动地侦听您的加密流量,因为他们无法访问您的共享对称密钥。

杨__羊羊

你之前这么说浏览器从该证书获取证书的颁发者信息,然后使用该信息与颁发者联系,并以某种方式比较证书的有效性。客户不必与发行人进行核对,因为有两件事:所有浏览器都有所有主要CA公钥的预装列表该证书已签名,并且签名本身就足以证明该证书有效,因为客户端可以自己确保自己的身份,而无需联系发行方的服务器,该证书是真实的。这就是非对称加密的优点。请注意,没有1就无法完成2。我在前段时间制作的这张大图中可以更好地说明这一点
打开App,查看更多内容
随时随地看视频慕课网APP