Не удалось создать безопасный канал SSL / TLS - только на сервере. Работает над разработкой коробки - PullRequest
0 голосов
/ 18 января 2019

У меня есть простое консольное приложение, которое подключается к веб-службе, которая использует проверку подлинности сертификата. Я использую протокол Tls1.2. Он работает, как и ожидалось, когда выполняется из моей коробки разработки, но получает исключение при выполнении с сервера.

Я уже проверил, что клиентский сертификат правильно установлен на сервере и может быть доступен приложению. Кроме того, я также проверил, что TLS 1.2 включен на сервере, а IP-адрес сервера занесен в белый список в веб-сервисах. Буквально все настройки такие же, кроме коробки.

Я озадачен тем, что он работает на моем компьютере для разработки, но не на сервере. Сообщение об ошибке, которое я получаю на сервере:

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

Любое понимание высоко ценится.

X509Certificate cert = Utilities.GetClientCertificate();
ClinicalTrialMapping ctContent = null;
Console.WriteLine(cert);
        if (cert != null)
        {

            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            Console.WriteLine(ServicePointManager.SecurityProtocol);
            WebRequestHandler handler = new WebRequestHandler();

            handler.ClientCertificates.Add(cert);
            handler.ClientCertificateOptions = ClientCertificateOption.Manual;


            using (var client = new HttpClient(handler))
            {
                string baseUrl = ConfigurationManager.AppSettings["BaseUrl"];
                client.BaseAddress = new Uri(baseUrl);
                client.DefaultRequestHeaders.Accept.Clear();

                try
                {
                    string url = "test.php";
                    HttpResponseMessage response = await 
                    client.GetAsync(url);
                 }
                catch (Exception ex)
                {
                    throw ex;
                }
...