SSL 使用非对称密钥对是正确的。生成一个公钥和一个私钥,也称为公钥基础设施 (PKI)。公钥是分发给世界的,用于加密数据。但是,只有私钥才能真正解密数据。这是一个例子:
假设我们都去 walmart.com 买东西。我们每个人都会得到一份沃尔玛公钥的副本来签署我们的交易。一旦交易被沃尔玛的公钥签名,只有沃尔玛的私钥才能解密交易。如果我使用我的沃尔玛公钥副本,它不会解密你的交易。沃尔玛必须保持他们的私钥非常私密和安全,否则任何人都可以解密到沃尔玛的交易。这就是为什么DigiNotar 漏洞如此严重的原因
现在您已经了解了私钥和公钥对的概念,重要的是要知道谁实际颁发证书以及为什么证书是受信任的。我对此过于简单化了,但是有特定的根证书颁发机构 (CA),例如 Verisign 签署证书,但也签署中间 CA。这遵循所谓的信任链,这是一个相互信任的系统链。请参阅下面链接的图像以获得更好的想法(注意根 CA 位于底部)。
组织通常购买通配符证书或自己注册为中间 CA,授权其单独为其域签名。这会阻止 Google 为 Microsoft 签署证书。
由于这种信任链,证书可以一直验证到根 CA。为了证明这一点,DigiCert(和许多其他人)拥有验证这种信任的工具。DigiCert 的工具链接在这里。我在 gmail.com 上进行了验证,当您向下滚动时,它会显示:
这表明 gmail.com 的证书是由 Google Internet Authority G2 颁发的,G2 又从 GeoTrust Global 颁发证书,而 GeoTrust Global 又从 Equifax 颁发证书。
现在,当您访问 gmail.com 时,您的浏览器不仅会得到一个散列块,而且会按原样进行。不,它会获得大量详细信息以及证书:
这些详细信息是您的浏览器用来帮助识别证书有效性的信息。例如,如果过期日期已过,您的浏览器将抛出证书错误。如果证书的所有基本细节都检出,它将一直验证到根 CA,证书是有效的。
现在您对证书详细信息有了更好的了解,这个类似于上面第一个的扩展图像有望更有意义:
这就是为什么您的浏览器可以验证一个证书与下一个证书,一直到您的浏览器固有信任的根 CA。
希望这可以帮助您更好地理解!