Firefox中的ASP.NET Core 2.1自签名证书不起作用

App*_*ons 7 c# https firefox ssl-certificate asp.net-core

我正在ASP.NET Core的新2.1版本中使用自签名证书,默认情况下如本文所述:https : //docs.microsoft.com/zh-cn/aspnet/core/release-notes/ aspnetcore-2.1?view = aspnetcore-2.1 我已经使用命令信任它dotnet dev-certs https --trust

在Chrome和Edge中,我的API在调用时以绿色显示“连接安全”。但是,在Mozilla Firefox(Quantum 61.0.1)中,它给出了“连接不安全”,并显示以下错误:MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT

我该如何解决?如何配置Firefox以允许自签名证书?还是我必须在代码中做这件事?

小智 10

dotnet dev-certs https --trust命令将 CA 根证书存储localhost在 Windows 证书存储或 MacOS 系统钥匙串中。默认情况下,Firefox 不使用这些来验证证书。

Firefox 提供了信任存储在系统钥匙串中的证书的可能性。security.enterprise_roots.enabled其中一种方法是启用中的设置about:config

更多信息:https ://support.mozilla.org/en-US/kb/setting-certificate-authorities-firefox

  • 仅将“security.enterprise_roots.enabled”设置为 true 对我来说不起作用。因此,我另外将“ImportEnterpriseRoots”设置添加为 true。 (2认同)

Nik*_*olm 8

Firefox 不使用 Windows 证书存储,因此您需要手动将证书作为例外添加到 Firefox。

从 Visual Studio 启动开发服务器;在 Firefox 中,转到右上角的汉堡包图标 -> 选项 -> 隐私和安全 -> 证书:查看证书... -> 添加例外...并输入本地开发服务器的 URL,例如“ https://localhost :4000 "。点击“获取证书”,勾选“永久存储此异常”和“确认安全异常”。

  • 我按照这些步骤操作,但是 Firefox (75.0b5) 仍然发出警告:“连接不安全”。 (4认同)

Ric*_*SFT 6

https://docs.microsoft.com/en-us/aspnet/core/security/enforcing-ssl#trust-ff 在官方文档中进行了解释。

  • Fwiw,这两种方法都不适合我。我仍然收到“SEC_ERROR_INADEQUATE_KEY_USAGE”的策略和 about:config 更改 (2认同)