Как решить проблему с HTTP-запросом Get - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь запустить простой запрос GET HTTP через консольное приложение. . NET FRAMEWORK 4.7.2 Язык - C#.

class Program
{
    static readonly HttpClient _httpClient = new HttpClient();

    static void Main(string[] args)
    {
        try
        {
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls /*| SecurityProtocolType.Ssl3*/;


            string versionTxtUri = "https://connect.palmbeachschools.org/version.txt";
            string versionTxtContent = _httpClient.GetStringAsync(versionTxtUri).GetAwaiter().GetResult();
            Console.WriteLine(versionTxtContent);
            Console.ReadLine();
        }
        catch(Exception ex)
        {
            Console.WriteLine(ex.Message);
            Console.WriteLine(ex.InnerException);
        }
    }
}

Когда я запускаю приложение в WinServer2012 R2 standart, я получаю сообщение об ошибке

The request was aborted: Could not create SSL/TLS secure channel.

При запуске на Windows 10 или WindowsServer 2016 Standart С этим все в порядке. Это работает.

Согласно IISCrypto Windows Server 2012 имеет настройки enter image description here

Не могли бы вы посоветовать, что я могу исследовать?

1 Ответ

0 голосов
/ 29 апреля 2020

Решение - добавить эти шифровальные костюмы

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
SSL_RSA_WITH_3DES_EDE_SHA
...