安全网站证书

传输层安全(TLS)证书既验证您正在访问的网站所有者也验证其信息。本文解释它如何工作。

哪些网站使用证书

https 开头的网站使用 TLS 证书。使用 TLS 证书的网站在两方面是安全的:

  • 网站的管理者拥有该网站名称或者知道谁是所有者。
  • 网站和浏览器之间的通讯加密,防止窃听。

信任链

象 Firefox 这样的浏览器,会通过一个称为 信任链 的层级结构验证证书。它为浏览器和其他程序定义一个验证证书合格性的机制。信任链的结构如下:

chain-of-trust

它有三个证书:

  • (trust anchor) 证书
  • 中间证书
  • 服务器 (end entity) 证书

定义如下:根证书属于 证书管辖机构 (CA),它负责发布 TLS 证书,浏览器自动信任;中间证书作为根证书和网站之间的中间人;服务器证书属于网站管理员。

证书包含以下信息:

  • 证书管辖机构的详情 (CA)
  • 非对称密钥对
    • 加密签署证书链上下一个证书的私钥;服务器证书还有一个其他用途的密钥
    • 解密证书链上下一个证书的公钥;服务器证书还有一个其他用途的密钥

现在,我们来看下 Firefox 如何判断网站是否安全。

Firefox 如何验证证书可信?

Firefox 使用证书链来验证 TLS 证书:

  1. 你访问网站时,Firefox 下载网站证书。
  2. Firefox 使用内部证书管辖结构(CA)数据库检查证书。
    • 使用其根 CA 证书的公钥确保证书链上的根证书和中间证书签名正确。
  3. Firefox 和 CA 一起确保你访问网站的证书和服务器证书一致。
  4. Firefox 为加密 HTTP 连接创建对称(单一)密钥。
  5. Firefox 使用服务器证书的公钥加密对称密钥。
  6. 服务器使用拥有的私钥解密连接数据。

查看证书

参考以下步骤查看证书:

  1. 点击锁形图标:
    padlock-icon
  2. 点击 连接安全
    connection-secure
  3. 点击 更多信息
    more-information
  4. 在弹出窗口,点击 查看证书
    view-certificate

Firefox 会打开 about:certificate 页面,上面有网站的证书:

about-certificate-page

从左到右有三个标签页显示服务器证书、中间证书和根证书。

证书内容

TLS 证书包括以下信息:

  • 主题:标识网站名称和相关信息,例如拥有该证书的组织名称。
  • 发行者:标识颁发该证书的实体。
  • 有效期:证书有效时长
  • 主题备用扩展名称:列出该证书可以标识的网站地址列表。
  • 公钥信息:公钥的信息。
  • 序列号:标识该证书的唯一序列号。
  • 签名算法:创建签名使用的算法。
  • 指纹:证书文件的哈希:DER 二进制。
  • 密钥用法和扩展密钥用法:指定该证书可用于的用途,例如确认网站的持有者(Web 服务器身份验证)。
    • 证书使用者密钥标识(SKID):由 TLS 证书公钥产生的证书标识,用来标识证书。
  • 证书颁发机构密钥标识(AKID):由 TLS 证书公钥产生的证书 标识,用来标识和签名证书的私钥相关公钥。
  • CRL 终端:发布 CA 的 Certificate Revocation List (CRL) 的位置
  • 管辖机构信息:包含证书管辖机构和中间证书文件的验证方法。
  • 证书有效性:包含证书有效类型和指向 CA Certification Practices Statement (CPS) 的链接。
  • 嵌入式 SCT:列出 已签证书时间戳 (SCT)。

有问题的证书

当您浏览使用 https 开头的网站时,并且网站的安全证书存在问题,您将看到错误页面。一些常见证书错误的介绍见 安全警告码是什么意思?

如要查看有问题的证书,步骤如下:

  1. 你的连接不安全 警告页面上,点击 高级...
  2. 点击 添加例外...
    bad-cert-advanced
  3. 点击 查看证书
    view-bad-certificate

错误证书将展示出来。

这篇文章对您有帮助吗?

请稍候...

此文章在这些用户的协助下写成:

Illustration of hands

志愿者

分享知识并培养专业技能。解答问题并改进我们的知识库。

详细了解