笑问苍*_*问苍天 10 c# ssl-certificate asp.net-core
最近,我的本地主机证书已过期,我已去“sertmgr.msc”删除所有本地主机证书并重新启动 VS 并向 Windows 添加新的本地主机证书。但是当我再次运行我的应用程序时,仍然使用旧的过期证书而不是新证书,有谁知道如何解决这个问题?我已经运行了下面的命令显示。
dotnet dev-certs https --clean
dotnet dev-certs https --trust
Run Code Online (Sandbox Code Playgroud)
Ped*_*las 11
我设法解决了这个问题:
在你做任何事情之前,清理旧证书并生成一个新的可信证书。
dotnet dev-certs https --clean
dotnet dev-certs https --trust
Run Code Online (Sandbox Code Playgroud)
如果上述过程失败,请在重试干净/信任命令之前手动删除证书。
获取您遇到问题的 Web 应用程序的用户机密 ID。在您的项目文件夹中搜索 UserSecrets.UserSecretsIdAttribute(" 并获取 GUID。
转到%APPDATA%\Microsoft\UserSecrets并打开包含您遇到问题的项目的 GUID 的文件夹,并将其保持打开状态。
创建一个新的 Asp .Net Core 项目,获取它的secretsGUID,转到对应的秘密文件夹(%APPDATA%\Microsoft\UserSecrets\GUID),然后打开文件secrets.json. 你应该看到这样的东西
{
"Kestrel:Certificates:Development:Password": "8353f2ec-3cc0-4052-9776-9585b6abd346"
}
Run Code Online (Sandbox Code Playgroud)
从新创建的项目中复制该设置secrets.json并使用它来覆盖secrets.json损坏项目的开发密码
这样,我设法让我的旧项目使用新生成的证书。这是hacky,但它的工作原理
小智 8
对于我在 Visual Studio 2022 上使用 Angular 的 ASP.NET Core 项目:
dotnet dev-certs https --clean
dotnet dev-certs https --trust
dotnet dev-certs https --check
Run Code Online (Sandbox Code Playgroud)
然后我停止了 Visual Studio 并删除了该项目的.key文件.pem
C:\Users\[your_user]\AppData\Roaming\ASP.NET\Https
Run Code Online (Sandbox Code Playgroud)
根据佩德罗的回答,
我用了:
dotnet dev-certs https --clean
dotnet dev-certs https --trust
Run Code Online (Sandbox Code Playgroud)
清理/替换旧证书。
然后我去了:
%APPDATA%\Microsoft\UserSecrets
Run Code Online (Sandbox Code Playgroud)
并删除了在那里找到的所有文件夹。
现在我的应用程序运行没有抱怨。创建一个新的 .net core 6 应用程序并运行它并没有创建一个新文件夹,所以我不知道它是否不再需要。
| 归档时间: |
|
| 查看次数: |
1335 次 |
| 最近记录: |