Firefox
Firefox
最后更新于:
1 week, 1 day ago
100% 的用户认为有帮助
传输层安全(TLS)证书既验证您正在访问的网站所有者也验证其信息。本文解释它如何工作。
哪些网站使用证书
以 https 开头的网站使用 TLS 证书。使用 TLS 证书的网站仅在确保两件事后才是安全的:
- 网站的管理者拥有或控制该网站的域名,确保用户访问的是合法网站而不是诱骗模仿或带有恶意的复制网站。
- 网站和浏览器之间的通信使用 TLS 加密,防止窃听或被未授权第三方改动。
信任链
象 Firefox 这样的浏览器,会通过一个称为 信任链 的层级结构验证证书。它为浏览器和其他程序定义一个验证证书合格性的机制。信任链的结构有三级证书:
- 根 (trust anchor) 证书
- 中间证书
- TLS 服务器 (end entity) 证书
定义如下:根证书属于 证书管辖机构 (CA),它负责发布 TLS 证书,浏览器自动信任;中间证书作为根证书和网站之间的中间人(证书发布 CA);TLS 服务器证书颁发给控制网站域名的单位和个人。
TLS 服务器证书依靠非对称密钥对加密算法:
私钥:这是密钥所有者保留的私密密钥,用来加密数据(包括证书)或解密用公钥加密的信息。
公钥:这是公开分享的密钥部分,用来验证用私钥生成的签名或者加密只有用私钥才能解密的信息T。
公钥证书包含以下信息:
- 颁发证书的管辖机构(CA)详情
- 证书接收方的公钥
- 握有私钥一方的身份详情(参看 Certificate content 一节。对于 TLS,这个主要是指网站域名)
现在,我们来看下 Firefox 如何判断网站是否安全。
Firefox 如何验证证书可信?
Firefox 使用证书链来验证 TLS 证书:
- 你访问网站时,Firefox 下载网站证书。
- Firefox 使用内部证书管辖结构(CA)数据库检查证书。
- 使用其根 CA 证书的公钥确保证书链上直至网站提供的 TLS 服务器证书的根证书和中间证书签名正确。
- Firefox 检查证书信息,确保你访问网站的证书和服务器证书一致。
- Firefox 为加密 HTTP 连接创建对称(单一)密钥。
- Firefox 使用服务器证书的公钥加密对称密钥。
- 服务器使用拥有的私钥解密连接数据,完成 TLS 握手协议。
随后,Firefox 和网站之间建立安全连接。
查看证书
参考以下步骤查看证书:
Firefox 会打开 about:certificate 页面,上面有网站的证书:
从左到右有三个标签页显示 TLS 服务器证书、中间证书和根证书。
证书内容
TLS 证书包括以下信息:
- 主题:可选属性,比如网站名称和拥有该证书的组织名称。
- 发行者:标识颁发该证书的实体,CA。
- 有效期:证书有效时长
- 主题备用扩展名称:列出该证书可以标识的网站地址列表。
- 公钥信息:公钥的属性信息。
- 序列号:标识该证书的唯一序列号。
- 签名算法:创建签名使用的算法。
- 指纹:证书文件的哈希:DER 二进制。
- 密钥用法和扩展密钥用法:指定该证书可用于的用途,例如确认网站的持有者(Web 服务器身份验证)。
- 证书使用者密钥标识(SKID):由 TLS 证书公钥产生的证书标识,用来标识证书。
- 证书颁发机构密钥标识(AKID):由 TLS 证书公钥产生的证书 标识,用来标识和签名证书的私钥相关公钥。
- CRL 终端:发布 CA 的 证书撤回列表 (CRL) 的位置
- 管辖机构信息:包含证书管辖机构和中间证书文件的验证方法。
- 证书政策:包含指向 TLS 类型的指针(比如证书发布日期的验证等)。
- 嵌入式 SCT:列出 已签证书时间戳 (SCT)。
有问题的证书
当您浏览使用 https 开头的网站时,并且网站的安全证书存在问题,您将看到错误页面。一些常见证书错误的介绍见 安全警告码是什么意思?
如要查看有问题的证书,步骤如下:
- 在警告页面上,点击
- 点击 查看证书。
错误证书将展示出来。