Как включить поддержку SecurityProtocol Tls13 в C# (VS2015 или VS2017)?

В моей программе на C# используются запросы к сайту https://api.pinnacle.com/ блок кода:

        ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

        var oRequest = (WebRequest)WebRequest.Create(sRequest);
        byte[] bytes = Encoding.UTF8.GetBytes(String.Format("{0}:{1}", sLogin, sPassword));
        oRequest.Headers["Authorization"] = String.Concat("Basic ", Convert.ToBase64String(bytes));
        oRequest.Method = "GET";

        WebResponse oResponse;
        try
        {
            oResponse = (WebResponse)oRequest.GetResponse();

            var oStream = oResponse.GetResponseStream();
            using (var oReader = new StreamReader(oStream, Encoding.UTF8))
                    sResponse = oReader.ReadToEnd();
            oResponse.Close();
        }

До сегодняшнего дня все работало на ура, однако сегодня запросы стали возвращать ошибку: «Базовое соединение закрыто: Не удалось установить доверительные отношения для защищенного канала SSL/TLS.»

Есть подозрение, что надо включить более поздний уровень протокола Tls13, однако он библиотекой System.Net не поддерживается. Хотя, возможно, проблема в другом.

Может кто нибудь подсказать решение?


Ответы (0 шт):