【问题标题】:Why is Firefox not trusting my self-signed certificate?为什么 Firefox 不信任我的自签名证书?
【发布时间】:2020-01-14 16:38:08
【问题描述】:

我有一个本地域 (markfisher.local),为此我制作了一个自签名证书,我已将其添加到 Keychain Access 中的证书中(我使用的是 Mac)。这会导致证书在 Chrome 和 Safari 中受到信任。如果我将 KeyChain Access 中的证书信任编辑为“从不信任”,那么 Chrome 和 Safari 将不再接受它,然后如果我将其更改回“始终信任”,那么我可以再次访问 markfisher.local OK。

但是在 Firefox 中访问该站点时,我得到以下信息:

markfisher.local 使用了无效的安全证书。 证书并非来自受信任的来源。 错误代码:MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY

我已按照this answer 中的建议将security.enterprise_roots.enabled 设置为true。此外,转到首选项 > 隐私和安全 > 查看证书,我可以看到我的证书位于“权限”选项卡中,并且我已在“编辑信任”对话框中选中“此证书可以识别网站”。原来没有检查这个

但是 Firefox 拒绝接受证书。我该如何解决这个问题?

【问题讨论】:

    标签: ssl firefox certificate keychain trust


    【解决方案1】:

    请参阅https://bugzilla.mozilla.org/show_bug.cgi?id=1034124,特别是这个答案:

    看起来该证书有一个 basicConstraints 扩展,带有 值 cA:真。我们不再允许 CA 证书充当 最终实体证书。该证书应重新生成 没有 basicConstraints 扩展。

    这在https://wiki.mozilla.org/SecurityEngineering/x509Certs也有解释

    错误代码:MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY

    含义:带有 cA:TRUE 基本约束扩展的证书被用作最终实体证书

    我能做什么:重新生成没有基本约束扩展的最终实体证书

    【讨论】:

    • 我试过了,现在我在 Firefox 中得到了 SEC_ERROR_BAD_SIGNATURE。 Chrome 和 Safari 还是可以的。
    • SEC_ERROR_BAD_SIGNATURE 应该真的意味着证书格式错误。除了试图产生更多,不同的,我不知道。确保生成“v3”证书,而不是 v1 证书。或者,在您的问题中发布证书内容,以便任何人都可以看到。
    • 我想我第一次在错误的部分更改了 basicConstraints 配置设置。我用您的答案修复了 MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY。谢谢!
    • 使用devcert,您可以生成自签名证书,它适用于 Firefox。
    【解决方案2】:

    我通过在我的托管 cPanel DNS 传播之后运行“运行 AutoSSL”来修复错误。

    现在 Firefox 表示连接是安全的,没有任何错误。

    【讨论】:

      猜你喜欢
      • 2016-11-29
      • 2017-11-16
      • 1970-01-01
      • 2014-06-04
      • 1970-01-01
      • 2013-02-08
      • 2018-04-16
      • 1970-01-01
      • 2018-03-10
      相关资源
      最近更新 更多