我正在.NET Core中创建一个Web API。为了在本地调试它,我创建了一个连接到我的API的控制台应用程序。我正在Linux中调试。
当连接到https://localhost:5001/上的本地URL时,控制台应用程序抛出AuthenticationException(根据验证过程,远程证书无效)。
我试着用两种方法来规避这一点:
1.已经添加了ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
,但没有效果。
1.运行dotnet dev-certs https --trust
。现在我的Web浏览器不再抱怨了,这很好,但是我的控制台应用程序仍然抛出异常。尝试重新启动。
如何让.NET Core信任我的本地主机服务器?还是忽略证书有效期?
5条答案
按热度按时间esbemjvw1#
从这里使用下面的示例
njthzxwz2#
我找到了解决办法:
尽管我仍然不清楚为什么在运行dotnet dev-certs https --trust后证书不被认为是有效的。
j91ykkif3#
对于.NET Core 7.0:
在Web App项目的program.cs类中添加AddHttpClient()方法时:
gg0vcinb4#
定义这些函数:
然后像这样使用程序的顶部:
dw1jzc5e5#
您应该通过将证书导入到证书存储区来信任计算机上的证书。
禁用验证是一个坏主意,因为您可能忘记删除该代码,然后您的成品是不安全的