为什么我的本地主机自签名 SSL 证书在 Chrome 中突然失效?

问题描述 投票:0回答:3

我刚刚再次开始处理一个大约一个月没有接触过的 .NET 项目,突然在我的本地主机环境中,当我尝试启动我的应用程序时,出现了 ERR_CERT_AUTHORITY_INVALID 错误。我使用 dotnet dev-certs 命令重新生成 localhost 证书,但奇怪的是 Chrome 似乎是从其他地方获取此 localhost 证书。在“开发人员工具”窗格中,我看到了这一点(注意有效期):

我不知道为什么它显示无效的有效期,因为我今晚刚刚生成了一个新的本地主机证书,并且今晚我已经多次破坏了 Chrome 的 SSL 缓存。以下证书出现在 certmgr 的“个人”>“证书”和“受信任的根证书颁发机构”部分中。

有人可以帮助我理解为什么 Chrome 认为我的本地主机证书来自无效的权威机构以及如何纠正这个问题吗?最后一个有效版本来自完全相同的位置(尽管我认为可能是其他东西生成的,因为我不记得使用 dotnet dev-certs CLI 命令来创建原始证书)。

asp.net google-chrome ssl-certificate localhost visual-studio-2022
3个回答
17
投票

我花了很多时间寻找解决方案,终于按照以下步骤解决了。希望这能节省您的时间。

  1. 在 Chrome 中打开开发工具,转到 Security 选项卡,然后单击 Viewcertificate
  2. 转到详细信息选项卡,然后单击复制到文件...
  3. 然后会弹出证书导出向导窗口,单击下一步按钮继续。
  4. 保留DER编码选项,点击Next并选择Browse,保存并将证书命名为localhost.cer。您应该在刚才选择的保存路径上看到您保存的证书。
  5. 将其复制到浏览器网址框中,打开
    chrome://settings/
  6. 在侧面菜单中选择
    Privacy and security
    >
    Security
    >
    Advanced
    >
    Managed Certificates
  7. 将弹出证书窗口,如下所示。选择受信任的根证书颁发机构选项卡,然后单击导入...
  8. 导入刚刚在步骤 4 中保存到所选路径的本地主机证书。
  9. 单击“浏览”导入locahost.cer,然后单击“是”完成导入证书过程。
  10. 关闭所有内容并重新启动 Chrome 浏览器。如果使用 dotnet run 命令提示符运行项目,请记住重建并重新运行项目,以使更改在浏览器中生效。 现在您应该能够使用安全标签访问任何本地主机网站网址。

4
投票

这实在是太愚蠢了。在昨晚浪费了几个小时和今晚一两个小时尝试在博客等中找到的修复之后,类似 StackOverflow 问题的答案表明我应该尝试修复我的 Visual Studio 安装。果然,这样做解决了问题。

修复 Visual Studio 安装并加载遇到 HTTPS 问题的项目后,我从 VS2022 收到一个如下所示的对话框(从 bing.com/images 剪下来,因为我在尝试修复此问题时关闭了对话框)我选择了“是”。

这添加了一个新证书,但奇怪的是,它仅将其添加到 certmgr 中的受信任根证书颁发机构,而不是个人,而我从 dotnet dev-certs CLI 命令生成的证书创建了两个;一个在“受信任的根证书颁发机构”中,另一个在“个人”中。下面的屏幕截图显示了两个证书; “IIS Express 开发证书”是解决该问题的证书,也是通过修复 VS2022 创建的证书。

不知道为什么VS2022证书过期后没有提示我续订。从好的方面来说,假设这个问题在 Visual Studio 的未来迭代中永远不会得到解决,在经历了这次经历之后,我确信到 2027 年 10 月 3 日,我会记住今天发生的一切,并且我必须修复我的如果我想避免由于本地主机 SSL 证书过期而浪费时间,请安装 VS20XX。


0
投票

对我来说,证书问题是

happening ONLY for one project
。经过不同的排列组合,我发现问题是由于项目秘密中的一个值引起的。发现项目中额外插入了以下值
secret.json

{
  "Kestrel:Certificates:Development:Password": "d24802d4-8528-4599-8086-9895359360f8"
}

从项目秘密中删除上述条目

问题不在密码值中,而是条目本身是

culprit
。希望这能拯救某人的一天。

© www.soinside.com 2019 - 2024. All rights reserved.