Запрос был прерван: не удалось создать безопасный канал SSL / TLS с помощью Restsharp - PullRequest
1 голос
/ 12 марта 2020

Я пытаюсь подключить служебный файл (.sv c). из моего c# кода, но я получаю сообщение как

Запрос был прерван: не удалось создать безопасный канал SSL / TLS

Сервер принимает только код шифра

Допустимы следующие шифры:

TLSv1.2 128 бит ECDHE-RSA-AES128-GCM-SHA256 Кривая P-256 DHE 256

TLSv1.2 256 бит ECDHE-RSA-AES256 -GCM-SHA384 Кривая P-256 DHE 256

Код:

string str = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:tem=\"http://tempuri.org/\">";
str = str + "<soapenv:Header/>";
str = str + "<soapenv:Body>";
str = str + "<tem:Logon>";
str = str + "<tem:logonRequest>";
str = str + "<tem:Username>XXXXXXX</tem:Username>";
str = str + "<tem:Password>XXXXXXX</tem:Password>";
str = str + "</tem:logonRequest>";
str = str + "</tem:Logon>";
str = str + "</soapenv:Body>";
str = str + "</soapenv:Envelope>";

Код:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(delegate { return true; });

var client = new RestClient(url);
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/xml");
request.AddParameter("undefined", str, ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

Пробовал решения, как показано ниже

1 ) Добавлена ​​строка ниже для включения TLS1.2

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(delegate { return true; });

Спасибо и С уважением

...