C#SDK-ASP.NET Core 2.1-无法建立SSL连接

时间:2019-03-28 05:57:59

标签: ssl asp.net-core splunk

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

2 个答案:

答案 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;