今天我加载了去年使用的 Visual Studio 项目。当我尝试运行它时(应该加载到 https://localhost:44435),它给了我“您的连接不是私有的”错误。
然后我表演了 dotnet dev-certs https --clean dotnet dev-certs https --trust 并删除 %AppData%\Microsoft\UserSecrets 中的所有子文件夹,然后重新启动计算机。
但是,加载Visual Studio(2022)项目并再次运行后,问题仍然存在。
我从浏览器中检查了证书,它使用的是颁发给本地主机的证书,但颁发于 2022 年 12 月 29 日,并于 2023 年 12 月 29 日过期。这解释了为什么它去年有效,今天停止工作。但是,我无法在 MMC 中找到此特定证书,无论是在计算机帐户还是用户帐户中。
我尝试过 Chrome、Edge、FireFox 和 Opera。都有同样的问题。 我尝试创建一个新项目,它似乎运行没有问题,并且正确使用从 dotnet dev-certs https --trust 创建的 SSL 到证书存储中。
所以我无法理解为什么特定项目坚持使用我在任何地方都找不到的过期 SSL。
从哪里可以强制 .NET Web 应用程序使用特定证书(如果可能的话)?
我一发布问题,我就想到在项目中搜索“SSL”,看看是否会导致任何结果,结果确实如此......
我从事 Web 应用程序前端工作的同事在 .env.development.local 中添加了几行...
SSL_CRT_FILE= SSL_KEY_FILE=
(与同事聊天后,我现在知道如果 .env.development.local 不存在,React 会自动生成它,并且 .pem 文件是根据 dotnet dev-certs https 创建的证书创建的 --信任。)