当浏览器通过HTTPS访问网站时,它使用SSL/TLS协议来保护数据的安全。当浏览器接收到网站的SSL证书后,它会通过以下几个步骤来验证证书的有效性:

  1. 证书链验证
  • 浏览器首先检查证书是否由一个它信任的证书颁发机构(CA)签发。大多数浏览器都内置了一份信任的CA列表。
  • 接着,浏览器会验证证书链,即确保网站的证书可以通过一系列中间证书追溯到一个根证书。
  1. 证书有效期检查
  • 浏览器会检查证书的有效期,确保证书在当前日期之内有效。
  1. 域名匹配
  • 浏览器会检查证书上的主题备用名称(Subject Alternative Name, SAN)或者证书的主题常用名(Common Name, CN),确保它与正在访问的网站的域名匹配。例如,如果SNI为columbia.edu,浏览器会查看证书是否包含此域名。
  1. 签名验证
  • 浏览器将验证证书的签名以确保它未被篡改。这通常涉及到使用证书颁发机构的公钥来验证签名。
  1. 吊销检查
  • 浏览器还会检查该证书是否已被吊销。这可以通过各种方式完成,例如使用在线证书状态协议(OCSP)或证书吊销列表(CRL)。

通过这些步骤,浏览器可以确认网站的SSL证书是有效的、可信的,以及与该网站相对应。