Проблемы с сертификацией SSL\TLS в C#

На серваке произошли проблемы с сертификатом. Мне нужно переписать программу по взятию файла с этого сервера так, что бы она игнорировала ошибки сертификации.
Я выделил основной проблемный код в отдельный консольный проект.
Вот он:

string path = Path.GetTempPath() + "1.pdf";
DownloadFileWebClient(new Uri("http://192.nnn.n.nnn/upload/documents/1.pdf"), path);

public static void DownloadFileWebClient(Uri requestUri, string path)
{
    Console.WriteLine("Enter");
    ServicePointManager.ServerCertificateValidationCallback += delegate (object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
    {
        Console.WriteLine("----------------------------------------------------");
        Console.WriteLine(sslPolicyErrors);
        Console.WriteLine("----------------------------------------------------");
        return true;
    };

    try
    {
        WebClient myWebClient = new WebClient();
        myWebClient.DownloadFile(requestUri, path);
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message);
        Console.WriteLine(ex.StackTrace);
    }
    Console.WriteLine("Exit");
}

Вот что выводит мне консоль при запуске:

Enter
----------------------------------------------------
RemoteCertificateNameMismatch
----------------------------------------------------
Exit

При этом код отрабатывает нормально и файл успешно скачивается.
А теперь собственно моя проблема:
Если скомпилированный код этой программы перетащить на сервер, где должно крутиться мое приложение, запустить, то вывод в консоль будет следующим:

Enter

The request was aborted: Could not create SSL/TLS secure channel. at  
System.Net.WebClient.DownloadFile(Uri address, String fileName) at  
Test.Program.DownloadFileWebClient (Uri requestUri, String path) in C:\Users\nnnn\Documents Projects Test Program.cs:line 36

Exit

Почему то делегат, который переопределяет колбек проверки сертификата вообще не вызывается?
Собственно, у меня вопрос к знающим людям: в чем может быть причина того, что при перемещении скомпилированной программы во втором случае вызова делегата ServerCertificateValidationCallback вобще не происходит?
Проблема в коде, или в самой машине, куда я перекидываю код? Моя машина и серверная находятся в одном домене, правда у серверной нет доступа в интернет, но машина с хранением файла точно доступна для нее.

UPD1:
Если поменять WebClient на HttpClient то ничего не меняется. Фреймворк 4.7.2, на серваке стоит Windows Server 2008 R2.


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