WebClient + проблемы HTTPS

Я в настоящее время интегрируюсь с системой, созданной третьей стороной. Эта система требует, чтобы я отправил запрос с помощью XML/HTTPS. Третья сторона отправляет мне сертификат, и я установил его

Я использую следующий код:

using (WebClient client = new WebClient())
{
   client.Headers.Add(HttpRequestHeader.ContentType, "text/xml");

   System.Text.ASCIIEncoding  encoding=new System.Text.ASCIIEncoding();
   var response = client.UploadData(address, "POST", encoding.GetBytes(msg));
}

Этот код возвращает следующее WebException:

Базовое соединение было закрыто: не Мог установить доверительные отношения для безопасного канала SSL/TLS.

ОБНОВИТЕ, поскольку это - тестовый сервер, против которого я работаю, сертификату не доверяют и сбои проверки... Для обхода этого в среде теста/отладки создайте новое ServerCertificateValidationCallback

ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback(bypassAllCertificateStuff);

и вот мой "поддельный" обратный вызов

private static bool bypassAllCertificateStuff(object sender, X509Certificate cert, X509Chain chain, System.Net.Security.SslPolicyErrors error)
{
   return true;
}

Читайте больше здесь и здесь

62
задан Siyual 2 July 2015 в 12:28
поделиться