在Visual Studio中进行本地开发和身份验证时,我一直收到以下错误:AuthenticationException: The remote certificate is invalid because of errors in the certificate chain: NotValidTime, UntrustedRoot
其中,当使用HttpClient
从我们的一个项目调用后端端点(localhost
)时,就会发生这种情况,所以这一切都发生在本地。
证书从去年的这个日期签署/有效,现在已经在一年后到期。我团队中的其他开发人员都没有收到或遇到同样的问题。
我尝试了很多东西,其中包括:
dotnet dev-certs https --clean
、dotnet dev-certs https
和dotnet dev-certs https --trust
成功更新/重新创建了2023年到期的证书-仍然不起作用/仍然收到相同的错误。- 根据以下链接在Microsoft管理控制台中更新证书
- https://stackoverflow.com/a/5427149/16805816
- IdentityServer: The remote certificate is invalid according to the validation procedure
我们没有一个集中的身份验证过程--它分散在系统的各个地方和场景中,所以我不能使用像if #DEBUG... //then ignore certificates
这样的变通方法。我需要正确生成有效的证书。
3条答案
按热度按时间ttisahbt1#
删除有问题的本地主机证书:
控制面板-〉Internet选项-〉内容选项卡。
1.单击证书并删除不再需要的证书。
1.单击“清除SSL状态”按钮。
按照此处的说明为每个本地主机站点重新创建新证书,注意端口号:
https://improveandrepeat.com/2020/05/recreate-the-self-signed-https-certificate-for-localhost-in-iis-express
j5fpnvbx2#
从下面的文件夹中清除所有私钥就能做到这一点(我只有一个,我刚刚重命名,这就做到了这一点):
C:\Users\{User}\AppData\Roaming\ASP.NET\Https
该解决方案归功于this SO-post answer。
e5nqia273#
首先输入这两个命令
然后删除此路径中的所有文件: