我有运行 .Net Core Web 应用程序的 IIS Express。
Chrome 可以正常浏览 HTTPS 版本,直到最近 Firefox 也是如此。突然我收到此错误:
安全连接失败
连接到 localhost:44358 时发生错误。证书密钥使用情况不适合尝试的操作。错误代码:SEC_ERROR_INADEQUATE_KEY_USAGE
与自签名证书的错误不同,我无法接受该证书或“仍然继续”。
我努力了:
- 重新生成 Firefox 的证书存储(删除 cert9.db 和 cert8.db)
- 修复 IISExpress.exe
- 卸载并重新安装 IISExpress.exe
- 更新 Visual Studio (2019)
答案1
Visual Studio 会生成自己的 CA 并将其安装到 Windows 证书存储中,以供 Web 开发使用。您可以配置 Firefox 以从 Windows 证书存储区导入 CA通过启用 Firefox 中的 security.enterprise_roots.enabled(以前称为 ImportEnterpriseRoots)设置。
执行以下操作以允许 Firefox 使用 Windows 证书存储区:
- 打开 Firefox
- 导航至“about:config”
- 搜索“ImportEnterpriseRoots”
- 添加它,并将其设置为 true
- 重启 Firefox
答案2
如果网站的 HTTPS 绑定配置为使用服务器证书存储中不再存在的证书,则可能会出现SEC_ERROR_INADEQUATE_KEY_USAGE
错误。如果您检查连接(通过单击锁定图标),您还会看到没有“查看证书”按钮,因为没有证书。显然,这不是您可以在 Firefox 中修复的问题,而是服务器端的问题。
解决方案是更改绑定(在 IIS 或 IIS Express 中)以使用存在且有效的证书。