无法在 Firefox 中添加自签名证书

无法在 Firefox 中添加自签名证书

我需要设置一个可供少数有限数量的用户访问的 IIS Web 服务器。我考虑只使用自签名证书,并手动将其安装在用户的系统上。

因此,我使用 IIS 工具生成了证书,将其安装在 Web 服务器上,并将其导出到 .cer 文件中。在 Windows 设置中添加受信任的颁发机构可以很好地与 Internet Explorer 配合使用:它可以删除不安全警告。

在 Firefox 中,我无法使其工作。启用 security.enterprise_roots.enabled 选项没有帮助。在 Firefox 证书设置中,我无法将其导入到 Authorities 面板,我收到一条错误消息:

这不是证书颁发机构证书,因此无法将其导入到证书颁发机构列表中

我能做什么?我不想在 Firefox 中添加例外,因为它会永久禁用对 URL 的任何证书检查,这意味着任何中间人攻击都变得直截了当。如果服务器上的证书发生变化,我希望阻止用户访问网站。

答案1

为了添加到 Firefox 中的证书颁发机构列表中,证书必须具有 X509v3 扩展CA:TRUE,例如

    X509v3 extensions:
        X509v3 Key Usage: critical
            Certificate Sign, CRL Sign
        X509v3 Basic Constraints: critical
            CA:TRUE

如果您有用于签署服务器证书的自己的私有 CA 证书,情况就会如此:您可以导入它并使用它来签署所有私有服务器证书,从而使它们立即在浏览器中受到信任。

对于自签名证书,最简单的解决方案是添加例外。快捷方式:chrome://pippki/content/exceptionDialog.xul。这仅针对此证书设置例外。如果证书发生变化,您仍会收到不受信任证书的警告。


有可能允许 Firefox 信任来自 Windows 的 CA自 Firefox 49 起(错误 1265113)。配置参数为security.enterprise_roots.enabled。默认情况下不会设置为true(错误 1314010),但将其作为配置首选项使得可以通过组策略进行分发,这使其成为通过 GPO 安装的 CA 证书的完美扩展。

目前默认情况下general.config.filename似乎已经设置为mozilla.cfg。您只需将此行添加到文件(使用组策略替换它)%ProgramFiles%\Mozilla Firefox\Mozilla.cfg

pref("security.enterprise_roots.enabled", true);

要锁定设置以使用户无法使用 修改它about:config,请改用lockPref()

相关内容