Как возможно, что RestSharp работает в тестовой среде, а не на моей локальной машине?

У меня очень странная проблема, и теперь она стоит мне дня.

Исключение ошибки.

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

at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)

at System.Net.HttpWebRequest.GetRequestStream()

at RestSharp.Http.WriteRequestBody(HttpWebRequest webRequest)

at RestSharp.Http.PostPutInternal(String method)

at RestSharp.RestClient.Execute(IRestRequest request, String httpMethod, Func`3 getResponse)

Мой код работает в тестовой среде, но не в моей локальной среде. Код работал в прошлом, и ничего не изменилось. Я воспроизвел REST-вызов на своей локальной машине в SoapUi, и там он работает. Я импортировал SSL-сертификат и т. д. На моей локальной машине работает Windows 7, а в тестовой среде — Windows Server 2008. В обеих средах работает .NET Framework 4.5.

Я искал в Интернете решение и нашел много, например Запрос был прерван: не удалось создать безопасный канал SSL/TLS http://robertgreiner.com/2013/03/could-not-install-trust-relationship-for-the-ssl-tls-secure-channel/

Я пробовал возможные решения, но не решил проблему. Кто-нибудь знает решение?

Большое спасибо, Джорди.


person Jordy    schedule 31.08.2015    source источник


Ответы (2)


Похоже, возникла проблема при рукопожатии вашей тестовой среды и другого сервера.

Попробуйте это перед вызовом сервера:

ServicePointManager.ServerCertificateValidationCallback =
                        (s, certificate, chain, sslPolicyErrors) => true;

PS: строка выше отключит проверку SSL.

person Thiago Custodio    schedule 31.08.2015
comment
Я НЕ РАЗРЕШУ ВАМ ДАТЬ ТАКОЙ ОТВЕТ, БЕЗ ВКЛЮЧЕНИЯ ВАМИ ПОСЛЕДСТВИЙ ДЛЯ БЕЗОПАСНОСТИ, КОТОРЫЕ ИМЕЕТ ЗАПУСК ЭТОГО КОДА. - person Aron; 31.08.2015
comment
@ Арон, где твой ответ? - person Thiago Custodio; 31.08.2015
comment
Я согласен с ответом. Просто не факт, что вы только что сказали ОП отключить SSL, не сказав ему, что это значит. - person Aron; 31.08.2015
comment
нет, как я уже сказал... кажется, проблема, с которой он столкнулся, связана с рукопожатием между сервером и тестовой средой. Чтобы подтвердить это, он может использовать код, который я разместил. Не это должно быть окончательным ответом и использоваться в производстве. - person Thiago Custodio; 31.08.2015
comment
Тогда это должен быть комментарий. Ты сделал это похожим на ответ. Что супер опасно. - person Aron; 31.08.2015
comment
Спасибо, что поняли меня, строка кода, которую предлагает Тиаго, находится внутри моего кода уже несколько месяцев (см. Также ссылки в моем вопросе). Код также работал локально. В коде ничего не изменилось. Я слышал, что SSL-сертификат был изменен с помощью подстановочного знака. Я обновил сертификат в диспетчере сертификатов Windows. Может быть, это что-то. - person Jordy; 01.09.2015

SSL-сертификат имел слишком низкий/плохой ключ шифрования, поэтому Windows больше не принимала его после нескольких обновлений Windows. Решением было обновить SSL-сертификат с более высоким ключом шифрования.

person Jordy    schedule 05.10.2015