如果你的组织使用私有证书颁发机构(CA)为内部服务器颁发证书,那么 Firefox 等浏览器可能会显示错误,除非你把它们配置为识别这些私有证书。这应该尽早完成,这样你的用户在访问网站时就不会遇到问题。
你可以使用以下方法之一来添加这些 CA 证书。
目录
使用内置的 Windows、macOS 和 Android 支持(推荐)
默认情况时,在 Windows、macOS 和 Android 系统下 Firefox 会搜索和使用已经被操作系统添加到认证库中的第三方 CA。因此,如果你的操作系统设置为信任组织的私有 CA,那么 Firefox 无须额外配置也会信任这些 CA。此功能可以使用 about:preferences 的 security.enterprise_roots.enabled 首选项来控制。
标签页下的 Allow Firefox to automatically trust third-party root certificates you install 勾选框来控制。另外,也可以使用 about:config 的Windows 企业支持
Firefox 可以被配置为自动搜索并导入由用户或管理员添加到 Windows 证书库的 CA。
- 在 地址栏 里输入about:config,然后按 回车。
有时会出现警告页面。点击 ,以打开 about:config 页面。 - 搜索首选项 security.enterprise_roots.enabled。
- 点击首选项旁边的 切换 按钮,将首选项 security.enterprise_roots.enabled 设为 true。
- 重新启动 Firefox。
Firefox 会检查 HKLM\SOFTWARE\Microsoft\SystemCertificates 的注册表位置(与 API 标志 CERT_SYSTEM_STORE_LOCAL_MACHINE 相对应),以寻找受信任的 CA,为 TLS 网络服务器认证颁发证书。任何这样的 CA 将被导入并被 Firefox 信任,尽管它们可能不会出现在 Firefox 的证书管理器中。对这些 CA 的管理应该使用内置的 Windows 工具或其他第三方工具。
Firefox 也会搜索注册表位置 HKLM\SOFTWARE\Policies\Microsoft\SystemCertificates\Root\Certificates 和 HKLM\SOFTWARE\Microsoft\EnterpriseCertificates\Root\Certificates(分别对应 API 标志CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY 和 CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE)。
macOS 企业支持
通过导入 macOS 系统钥匙串中的根,这项功能也适用于 macOS。
使用策略导入 CA 证书
你可以使用 企业策略 来向 Firefox 添加 CA 证书。
- 将 ImportEnterpriseRoots 键设置为 true 会使 Firefox 信任根证书。我们推荐这个选项来为 Firefox 添加对私有 PKI 的信任。它相当于设置 security.enterprise_roots.enabled 首选项,如前文 使用 Windows、macOS 和 Android 的内置支持 部分所述。
- 默认情况下,安装 键会在下面列出的位置搜索证书。你可以指定一个完全合格的路径(见 这个例子 )。如果 Firefox 在完全限定路径中没有找到,它将搜索默认目录:
- Windows
- %USERPROFILE%\AppData\Local\Mozilla\Certificates
- %USERPROFILE%\AppData\Roaming\Mozilla\Certificates
- macOS
- /Library/Application Support/Mozilla/Certificates
- ~/Library/Application Support/Mozilla/Certificates
- Linux
- /usr/lib/mozilla/certificates
- /usr/lib64/mozilla/certificates
- Windows
GNU/Linux
在 GNU/Linux 上使用 p11-kit-trust.so
证书可以通过使用 p11-kit 中的 p11-kit-trust.so 以编程方式导入(注意,一些发行版,比如基于 Red Hat 的发行版,已经通过将 p11-kit-trust.so 作为 libnsscbki.so 来默认这样做)。
这可以通过在 /etc/firefox/policies/policies.json 中设置 SecurityDevices 政策 并添加指向 p11-kit-trust.so 在系统中的位置的条目,通过偏好设置中的安全设备管理器手动添加它,或者使用 modutil 工具来完成。
预先加载证书数据库(仅适用于新配置文件)
有些用户在 Firefox 中 创建一个新的配置文件,手动安装他们需要的证书,然后用这种方法将各种 .db 文件(cert9.db、key4.db 和 secmod.db)分发到新的配置文件中。这不是推荐的方法,而且这种方法只适用于新的配置文件。
Certutil
你可以使用 certutil 从命令行更新 Firefox 证书数据库。 查看 Microsoft 支持站点 了解更多信息。