从 Firefox 配置文件中删除所有证书颁发机构

从 Firefox 配置文件中删除所有证书颁发机构

目标是只信任硬盘上存储的特定配置文件的某些证书​​。因此不需要证书颁发机构。

尝试过但没有成功:

  • 使用证书管理器删除所有 CA(Firefox 偏好设置的一部分)
  • cert9.db在个人资料中删除
  • 清除cert9.db为 0 字节并删除所有权限标志,以便 Firefox 无法更改它

所有这三种措施都导致 CA 重新出现(尽管不一定在cert9.db,至少如果我删除了该文件的写权限;但仍然在 Firefox 的证书管理器中)。

我想知道 CA 是从哪里来的。如果 Firefox 遗漏了它们,它会从互联网上读取它们吗?我根本没想到它们会重新出现。

我怎样才能阻止这种行为?

答案1

有没有办法删除 Firefox 中的所有 CA 证书?

Firefox 使用 Mozilla 的国家安全战略用于安全相关功能(如 TLS)的库。NSS 有自己的内置 CA 存储,Firefox 可以使用它来获取默认 CA 证书。

Mozilla 的常见问题解答

预加载的 CA 证书包含在以下文件中:

  • Windows:libnssckbi.dll
  • Unix、Linux 和其他 *nix 变体:libnssckbi.so
  • Mac OS X:Contents/MacOS/libnssckbi.dynlib

因此,无法删除所有 CA 证书,因为它们是 Firefox 本身的一部分。

是否可以剥夺所有 CA 证书的所有信任?

Mozilla 的常见问题解答

如果您不信任 Mozilla 产品中默认包含其根证书的特定 CA,则有两种方法可以禁用该证书。

  1. 关闭该根证书的信任位。
  2. 删除根证书。
    • 删除默认根存储中的根证书相当于关闭该根的所有信任位。因此,即使根证书会重新出现在证书管理器中,也会被视为您更改了该根证书的信任位以将其全部关闭。

重要的:此更改将产生永久性影响,因此只有您才能再次更改根证书的信任位。升级到较新版本的 Mozilla 软件不会影响此更改。强烈建议您记下修改了哪个根证书,这样如果更改对您的浏览体验产生负面影响,您可以重新启用信任位。

因此,要不信任所有 CA 证书:

  1. about:preferences#privacy
  2. 点击View Certificates...页面底部的
  3. 切换到标签Authorities
  4. 选择证书
  5. 点击Delete or Distrust...
  6. 点击确认OK
  7. 对每个证书重复步骤 4-6
  8. 重启 Firefox

重新启动 Firefox 后,您将看到所有默认证书都已重新出现。

为什么重新启动 Firefox 后 CA 证书会不断重新出现?

默认证书无法删除,因此 Firefox 只会不信任它们,因此它们无法用于验证其他证书。您可以选择一个 CA 证书,然后单击Edit Trust...以查看一旦您不信任它,就不会检查任何内容。
不信任与删除证书本身具有相同的效果,只是证书仍会显示在证书管理器中。

了解更多信息:更改信任设置

答案2

看起来 Firefox 已经在代码中内置了一些 CA。

CA/常见问题

这些预加载的根 CA 证书以共享库的形式随 Mozilla 及相关软件一起分发,并与软件的其余可执行代码一起安装在用户的系统上。因此,当软件的新版本发布时,它们可以进行更新。

预加载的 CA 证书包含在以下文件中:

  • Windows:libnssckbi.dll
  • Unix、Linux 和其他 *nix 变体:libnssckbi.so
  • Mac OS X:Contents/MacOS/libnssckbi.dynlib

如果您要删除的证书就是这些,那么答案是否定的,因为它们内置于代码中,并且不存储在任何.db文件中(首先)。您可以尝试破解这些文件,但即使成功,您也需要对每个新版本的 Firefox 重复破解。


我发现了另一个设置,该设置可能导致存储中填充来自操作系统的证书,尽管可能仅适用于 Windows security.enterprise_roots.enabled:。

目前没有关于此about:config设置如何实现的信息,尽管从文章中可以清楚地看出它仍在发展。我建议测试一下你的情况是否设置了它。

摘自 Mozilla 文章 CA:添加根目录到Firefox

从版本 49 开始,Firefox 可以进行实验性配置,以自动搜索和导入用户或管理员已添加到 Windows 证书存储区的 CA。为此,请设置首选项“安全.企业根目录.已启用“ 到真的。在此模式下,Firefox 将检查 HKLM\SOFTWARE\Microsoft\SystemCertificates注册表位置(对应于 API 标志CERT_SYSTEM_STORE_LOCAL_MACHINE),以查找值得信赖的 CA,这些 CA 可以颁发用于 TLS Web 服务器身份验证的证书。任何此类 CA 都将被 Firefox 导入和信任,但请注意,它们可能不会出现在 Firefox 的证书管理器中。预计这些 CA 的管理(例如信任配置)将通过内置的 Windows 工具或其他第三方实用程序进行。另请注意,要使此类更改在 Firefox 中生效,必须关闭首选项并再次打开,或者必须重新启动 Firefox。随着此功能的发展,这可能会自动处理以方便使用。

相关内容