![如何让 Firefox 知道本地系统 CA 证书?](https://linux22.com/image/52481/%E5%A6%82%E4%BD%95%E8%AE%A9%20Firefox%20%E7%9F%A5%E9%81%93%E6%9C%AC%E5%9C%B0%E7%B3%BB%E7%BB%9F%20CA%20%E8%AF%81%E4%B9%A6%EF%BC%9F.png)
最近,CAcert 根证书已从 Debian 中删除(更准确地说,从ca-certificates
软件包中删除)。因为我想保留它们,所以我备份了目录
/usr/share/ca-certificates/cacert.org/
包含.crt
升级前的两个文件并将其复制到
/usr/local/share/ca-certificates/cacert.org/
然后。然后我跑了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.
看起来一切都很顺利。然而,Firefox (Iceweasel) 仍然拒绝由 CAcert 签名的证书,认为其不受信任。
有什么我错过的吗?我是否需要做一些特殊的事情才能让 Firefox 真正重新读取系统证书?
答案1
Firefox 在全新安装后即可运行。如果删除了证书数据库cert8.db
,它将在下次 Firefox 启动时重新生成。这强烈表明存在 CA 证书的系统范围默认存储。
火狐浏览器的源代码节目内置的 CA 证书实际上被硬编码为firefox
可执行文件。他们居住在安全/nss/lib/ckfw/builtins/certdata.txt
所以没有办法在系统范围内安装证书。请注意,修补源代码可能会带来知识产权问题。