如何使Firefox信任系统CA证书?

我们的networkingpipe理员最近在防火墙/路由器上启用了HTTPS检查。 对于IE用户来说,这是没有问题的,因为证书已经通过活动目录分发给join域的计算机。 但是,我们有许多Firefox用户现在几乎在每个HTTPS站点上都出现证书错误。

Firefox使用自己的CA商店, 他们也为此感到自豪 。 有什么办法让Firefox默认信任系统证书存储? 我在Linux上看到很多关于如何做这个的post,但是对于Windows来说没有什么。

我怀疑这个post是不可能的,但那个post已经快4年了。

由于Firefox 49 支持Windows CA证书,并支持自Active Directory提供企业根证书的Firefox 52。

没有计划在默认情况下启用此function,因为没有关于当Firefox或Windowsapp store对安装的证书具有不同级别的信任时发生的情况的devise。

您可以通过创build此布尔值来在about:config启用此function:

 security.enterprise_roots.enabled 

并将其设置为true

部署系统configuration

在Firefox安装文件夹中,转到defaults\pref\文件夹并使用以下命令创build一个新文件:

 /* Allows Firefox reading Windows certificates */ pref("security.enterprise_roots.enabled", true); 

将其保存为.js扩展名,例如trustwincerts.js并重新启动Firefox。 该条目将显示在所有用户的about:config中。

系统范围部署Windows证书

在从49到51的Firefox中,它只支持“Root”存储。 自Firefox 52以来,它支持其他商店,包括通过AD从域添加的商店。

这有点超出范围,但解释了哪些是Firefox 49或51版本支持的唯一证书存储区,或者仅用于本地testing。 因为这部署本地机器用户,它需要在您的CMD / PowerShell窗口或自己的自动化部署脚本的pipe理员权限:

 certutil -addstore Root path\to\cafile.pem 

如果您更喜欢鼠标方式( 如何:使用MMCpipe理单元查看证书),则可以通过单击许多窗口从pipe理控制台完成此操作。

强制使用系统存储没有一个好办法,但有一个很好的解决方法(强制使用定制的Firefox兼容存储)。

下面的脚本位在login/注销时运行良好。

 Stop-Process -processname firefox $DBPath="\\yourserver\yourshare\cert8.db" $FirefoxProfiles=Get-ChildItem $Env:appdata\Mozilla\Firefox\Profiles $DB=Get-Item $DBPath ForEach ( $Profile in $FirefoxProfiles ) { $FullPath=join-path $Env:appdata\Mozilla\Firefox\Profiles $Profile Copy-Item $DB $FullPath $FullPath } 

您是否考虑过将这些证书部署到Firefox以及Windows证书存储?

https://wiki.mozilla.org/CA:AddRootToFirefox详细介绍了几个选项:

  1. 直接使用certutil修改证书数据库。
  2. 使用Firefox的自动configurationfunction,通过在二进制文件旁边放置一个JavaScript文件来添加证书:

     var certdb = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB); var certdb2 = certdb; try { certdb2 = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB2); } catch (e) {} cert = "MIIHPT...zTMVD"; // This should be the certificate content with no line breaks at all. certdb2.addCertFromBase64(cert, "C,C,C", ""); 
  3. 直接分配证书数据库文件。
  4. 打包Firefox进行安装,包括发行版中的证书。
  5. 使用CCK2创build添加证书的扩展。