我想知道如何在 Mac OS X 上为 Firefox 部署根证书。我找到了一些在 Windows 上执行此操作的解决方案,效果非常好。现在我想在 Mac OS X 上执行相同操作。我们有许多使用此操作系统的客户端,如果必须在客户端上手动执行此操作,那将非常浪费。我正在寻找一种无需在机器上进行任何用户输入的解决方案。
我找到了 OS X 的替代方案certutil
->security
但出于安全考虑,我只能将证书添加到钥匙串中。Firefox 似乎不使用钥匙串来检查证书。
如何将证书添加到用户特定的证书存储区?
答案1
从 Firefox 63 开始,你可以设置安全.企业根目录.已启用到真的(通过 about:config)配置 Firefox 使用 OS Keychain 作为受信任的根证书存储。
这不会被移植回 Firefox 60 ESR。
有关更多信息,请参阅此错误报告1300420
答案2
Firefox 使用自己的证书存储。因此,如果您将证书添加到一个 Firefox,您应该能够确定用户 Firefox 配置文件中已更改的文件,并将其部署给其他每个用户。或者,在 Firefox.app 中找到主证书存储,并将其替换为包含根证书的证书存储。
更新
您感兴趣的文件是~/Library/Application Support/Firefox/Profiles/[profile-id]/cert8.db
。请查看https://sadique.io/blog/2012/06/05/managing-security-certificates-from-the-console-on-windows-mac-os-x-and-linux/了解更多信息。向下滚动到火狐-部分。
这种方法的缺点是用户可能会丢失已添加的根证书。
答案3
花了半天时间,不过,问题解决!
先前对已删除博客记录的回答中的链接建议用预制的 cert8.db 替换 cert8.db - 这是一个非常糟糕的主意,因为用户将丢失所有已经接受的证书。
必须使用 NSS 工具 - certutil 将证书添加到 cert8.db。
我成功地构建了最新版本的NSS 工具 3.23在 Mac OS - El Capitan 上您可以从我的 DropBox 下载档案
希望它能对其他人有所帮助