Firefox中的ASP.NET核心自签名证书不起作用



我在ASP.NET Core中使用自签名证书,默认情况下,如本文所述我已经用命令dotnet dev-certs https --trust信任它

在Chrome和Edge中,我的API在调用时显示绿色的"连接安全"。然而,在MozillaFirefox(Quantum61.0.1(中,它显示"连接不安全",并出现以下错误:MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT

我该如何解决这个问题?如何配置Firefox以允许自签名证书?或者这是我必须在代码中做的事情?

Firefox浏览器使用自己的证书存储,因此不信任IIS Express或Kestrel开发人员证书。

使用Firefox信任HTTPS证书有两种方法:创建策略文件或使用Firefox浏览器进行配置。使用浏览器进行配置会创建策略文件,因此这两种方法是等效的。看见https://learn.microsoft.com/en-us/aspnet/core/security/enforcing-ssl#trust-ff在官方和维护的文档上。

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

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

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

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

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

最新更新