仅限企业根 CA 和 Firefox SEC_ERROR_UNKNOWN_ISSUER 错误

仅限企业根 CA 和 Firefox SEC_ERROR_UNKNOWN_ISSUER 错误

因此,我决定在我的域中设置企业 CA,以便我们可以在内部 Web 应用程序上启用 SSL。对于我的测试基础,我在 Windows 上使用带有 .local FQDN 的 XAMPP。我为 CA 使用 Microsoft Active Directory 证书服务。

经过(多次)尝试和磨难,我终于得到了一个基本可以运行的示例。因此,该 Web 应用程序可以在 IE、Edge 和 Chrome 上运行,但在 Firefox 上无法运行。

Firefox 错误如下:

警告:前方有潜在安全风险 错误代码:

SEC_ERROR_UNKNOWN_ISSUER

无法验证此证书,因为颁发者未知

我在多个工作站上测试过,结果相同。Firefox 是最新版本。

当我在 openssl 中加载证书时没有出现任何错误:

openssl x509 -in "C:\xampp\apache\conf\ssl.crt\certname.crt"

我运行时出现以下两个错误:

openssl s_client -connect server.local:443 

验证错误:num=20:无法获取本地颁发者证书

验证错误:num=21:无法验证第一个证书

我可以选择从我的 CA 下载“证书链”,但它采用 .p7b 格式。其内容是单个证书。

当我将文件转换为 .crt 或甚至在 httpd-xampp.conf 中使用 .p7b 时,Apache 随后不会启动。即使没有以下条目,它也可以正常启动。

SSLCertificateChainFile“conf/ssl.crt/chain-cert.crt”

有任何想法吗?

答案1

根据 Mozilla 的文档,从 FF64 开始,推荐通过企业策略安装证书。由于 (当前) 存在漏洞,您需要手动安装所有中间证书以及根证书。

您可以从这里下载 Firefox GPO 模板:https://github.com/mozilla/policy-templates/tree/master/windows

您可以通过在 about:config 中将“security.enterprise_roots.enabled”首选项设置为 true 进行单独测试。

更详细的信息可以从这里找到:https://wiki.mozilla.org/CA/AddRootToFirefox

相关内容