Я в настоящее время интегрируюсь с системой, созданной третьей стороной. Эта система требует, чтобы я отправил запрос с помощью 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;
}