C#SDK-ASP.NET Core 2.1-无法建立SSL连接
我尝试了
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
它在.NET Framework中运行,但不在ASP.NET Core中运行。
我也尝试过
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
但是我在ASP.NET Core中没有获得成功
我想在asp.net核心中生成自我SSL
答案 0 :(得分:0)
在.NET核心中,您应该在HttpClient级别执行此操作,而不要使用ServicePointManager对象,例如
https://stackoverflow.com/a/44540071/1538039
我在这里回答了类似的问题-https://stackoverflow.com/a/55358543/1538039
虽然您可以以这种方式绕过验证,但是如果您控制服务器,则不是正确的方法。您基本上是在说:“我已经以某种方式配置服务器,这意味着我的客户端无法建立信任,因为它不隐式地信任证书链。为了解决这个问题,我将通过添加一些代码来接受所有错误'
更好的解决方案是为服务器配置客户端可以信任的证书,然后事情将正常工作!
在本地进行开发时,如果要使用自签名证书,则可以将其安装为根CA,并且一切正常。
一旦您进入了无法控制客户的阶段,显然这不是您可以要求别人做的事情。然后,唯一要做的就是使用letsencrypt之类的东西正确配置服务器,使其具有客户端可以信任的证书。
答案 1 :(得分:0)
以下解决方案适用于 RestSharp 库
var restClient = new RestClient(baseUrl);
restClient.RemoteCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;