https 中如何保证证书是可信任的【热度: 210】

关键词:https 证书可信保证

在 HTTPS 中,保证证书是可信任的主要通过以下几个方面实现:

一、证书颁发机构(CA)的信任体系

  1. 根证书的信任

    • 操作系统和浏览器内置了一些受信任的根证书颁发机构(Root CA)的证书。这些根证书是整个信任体系的基础。
    • 当浏览器接收到一个服务器的 SSL/TLS 证书时,它会沿着证书链向上追溯,直到找到一个受信任的根证书。如果证书链中的所有证书都有效,并且最终可以追溯到一个受信任的根证书,那么这个服务器证书就被认为是可信任的。
  2. 中间证书的验证

    • 通常,服务器证书不是由根证书颁发机构直接颁发的,而是由中间证书颁发机构(Intermediate CA)颁发的。中间证书颁发机构的证书又由根证书颁发机构颁发。
    • 浏览器在验证服务器证书时,会同时验证证书链中的中间证书。它会检查中间证书的有效性、签名是否正确以及是否在有效期内等。

二、证书的验证过程

  1. 证书的完整性检查

    • 浏览器会检查服务器证书的数字签名,以确保证书在传输过程中没有被篡改。证书的数字签名是使用证书颁发机构的私钥生成的,浏览器可以使用证书颁发机构的公钥来验证签名的有效性。
    • 如果签名验证失败,说明证书可能被篡改,浏览器会显示警告信息,并且可能拒绝建立安全连接。
  2. 证书的有效期检查

    • 浏览器会检查服务器证书的有效期,确保证书在当前时间是有效的。如果证书已过期或尚未生效,浏览器会显示警告信息,并且可能拒绝建立安全连接。
  3. 域名匹配检查

    • 浏览器会检查服务器证书中的域名与用户访问的域名是否匹配。如果证书中的域名与访问的域名不匹配,浏览器会显示警告信息,并且可能拒绝建立安全连接。
    • 例如,如果用户访问“example.com”,但服务器证书是为“another-example.com”颁发的,那么浏览器会认为证书不可信。

三、证书吊销检查

  1. 证书吊销列表(CRL)

    • 证书颁发机构可以吊销已经颁发的证书,例如当证书的私钥被泄露或者证书的所有者发生变化时。为了检查证书是否被吊销,浏览器可以查询证书颁发机构发布的证书吊销列表(CRL)。
    • CRL 是一个包含已吊销证书序列号的列表,浏览器可以下载这个列表,并检查服务器证书的序列号是否在列表中。如果在列表中,说明证书已被吊销,浏览器会显示警告信息,并且可能拒绝建立安全连接。
  2. 在线证书状态协议(OCSP)

    • 除了 CRL,浏览器还可以使用在线证书状态协议(OCSP)来实时查询服务器证书的状态。OCSP 允许浏览器向证书颁发机构的服务器发送一个请求,询问服务器证书是否有效。
    • 证书颁发机构的服务器会返回一个响应,指示证书的状态(有效、吊销或未知)。浏览器可以根据这个响应来决定是否信任服务器证书。