Firefox 拒绝 IIS Express 证书并出现错误“SEC_ERROR_INADEQUATE_KEY_USAGE”

Firefox 拒绝 IIS Express 证书并出现错误“SEC_ERROR_INADEQUATE_KEY_USAGE”

我有运行 .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 证书存储区:

  1. 打开 Firefox
  2. 导航至“about:config”
  3. 搜索“ImportEnterpriseRoots”
  4. 添加它,并将其设置为 true
  5. 重启 Firefox

答案2

如果网站的 HTTPS 绑定配置为使用服务器证书存储中不再存在的证书,则可能会出现SEC_ERROR_INADEQUATE_KEY_USAGE错误。如果您检查连接(通过单击锁定图标),您还会看到没有“查看证书”按钮,因为没有证书。显然,这不是您可以在 Firefox 中修复的问题,而是服务器端的问题。

解决方案是更改绑定(在 IIS 或 IIS Express 中)以使用存在且有效的证书。

相关内容