在 Firefox 中设置证书颁发机构 (CA)

模板“Enterprise”不存在,或是没有已通过审核的版本。

如果你的组织使用私有证书颁发机构(CA)为内部服务器颁发证书,那么 Firefox 等浏览器可能会显示错误,除非你把它们配置为识别这些私有证书。这应该尽早完成,这样你的用户在访问网站时就不会遇到问题。

你可以使用以下方法之一来添加这些 CA 证书。

使用策略导入 CA 证书(推荐)

Firefox 版本 64 开始,你可以使用 企业策略 来向 Firefox 添加 CA 证书。

  • ImportEnterpriseRoots 键设置为 true 会使 Firefox 信任根证书。我们推荐这个选项来为 Firefox 添加对私有 PKI 的信任。它相当于设置 security.enterprise_roots.enabled 偏好,如下文内置 Windows 和 macOS 支持部分所述。
  • 默认情况下,安装 键会在下面列出的位置搜索证书。从 Firefox 65 开始,你可以指定一个完全合格的路径(见 这个例子 中的 cert3.dercert4.pem)。如果 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 和 macOS 支持

about:config 中把 security.enterprise_roots.enabled 偏好设置为 true,将启用 Windows 和 macOS 企业根支持。

Windows 企业支持

从版本 49 开始,Firefox 可以被配置为自动搜索并导入由用户或管理员添加到 Windows 证书库的 CA。

  1. 地址栏 里输入about:config,然后按 回车
    有时会出现警告页面。点击 接受风险并继续,以打开 about:config 页面。
  2. 搜索偏好 security.enterprise_roots.enabled
  3. 点击偏好旁边的 切换 Fx71aboutconfig-ToggleButton 按钮将偏好 security.enterprise_roots.enabled 设为 true
  4. 重新启动 Firefox。

Firefox 会检查 HKLM\SOFTWARE\Microsoft\SystemCertificates 的注册表位置(与 API 标志 CERT_SYSTEM_STORE_LOCAL_MACHINE 相对应),以寻找受信任的 CA,为 TLS 网络服务器认证颁发证书。任何这样的 CA 将被导入并被 Firefox 信任,尽管它们可能不会出现在 Firefox 的证书管理器中。对这些 CA 的管理应该使用内置的 Windows 工具或其他第三方工具。

Firefox 版本 52:Firefox 也会搜索注册表位置 HKLM\SOFTWARE\Policies\Microsoft\SystemCertificates\Root\CertificatesHKLM\SOFTWARE\Microsoft\EnterpriseCertificates\Root\Certificates(分别对应 API 标志CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICYCERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE)。

注意:此设置只从 Windows 可信根认证机构商店导入证书,而不是相应的中间认证机构商店。参见 bug 1473573。如果你在启用此功能后仍然遇到“未知签发者”的错误,请尝试配置你的 TLS 服务器,以便在 TLS 握手中包括必要的中间证书。

macOS 企业支持

从 Firefox 63 开始,这项功能也适用于 macOS,通过导入 macOS 系统钥匙串中的根。

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 中设置 Security Devices policy 并添加指向 p11-kit-trust.so 在系统中的位置的条目,通过偏好中的 安全设备 管理器手动添加它,或者使用 modutil 工具来完成。

预先加载证书数据库(仅适用于新配置文件)

有些人在 Firefox 中创建一个新的配置文件,手动安装他们需要的证书,然后用这种方法将各种 db 文件(cert9.dbkey4.dbsecmod.db)分发到新的配置文件中。这不是推荐的方法,而且这种方法只适用于新的配置文件。

Certutil

你可以使用 certutil 从命令行更新 Firefox 证书数据库。 查看 Microsoft 支持站点 了解更多信息。

这篇文章对您有帮助吗?

请稍候...

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

Illustration of hands

志愿者

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

详细了解