如何让 Firefox 知道本地系统 CA 证书?

use*_*575 5 debian firefox ssl https certificates

最近,CAcert 根证书已从 Debian 中删除(更准确地说,从ca-certificates软件包中删除)。因为我想保留它们,所以我备份了目录

/usr/share/ca-certificates/cacert.org/
Run Code Online (Sandbox Code Playgroud)

.crt包含升级前的两个文件并将其复制到

/usr/local/share/ca-certificates/cacert.org/
Run Code Online (Sandbox Code Playgroud)

然后。然后我跑了update-ca-certificates

# update-ca-certificates 
Updating certificates in /etc/ssl/certs... 2 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d....
Adding debian:cacert.org_class3.pem
Adding debian:cacert.org_root.pem
done.
done.
Run Code Online (Sandbox Code Playgroud)

看起来一切都很顺利。然而,Firefox (Iceweasel) 仍然拒绝由 CAcert 签名的证书,认为其不受信任。

有什么我错过的吗?我是否需要做一些特殊的事情才能让 Firefox 真正重新读取系统证书?

小智 5

Firefox 在全新安装后即可运行。如果cert8.db删除了证书数据库,它将在下次 Firefox 启动时重新生成。这强烈表明存在 CA 证书的系统范围默认存储。

Firefox 的源代码显示内置的 CA 证书实际上是硬编码为firefox可执行文件的。它们驻留在security/nss/lib/ckfw/builtins/certdata.txt中

所以没有办法在系统范围内安装证书。请注意,修补源代码可能会带来知识产权问题。

  • 至于最后一点,Firefox是免费软件,所以修改源码是没有问题的。是否是一个好的解决方案是另一个话题。 (2认同)