Мне нужно подключиться к веб-сервису REST и использовать сертификат для своей аутентификации.
Все работает отлично, когда я подключаюсь из-за пределов нашей корпоративной сети и НЕ использую прокси-сервер.
Проблема в том, что я должен использовать сервис изнутри нашей сети, где я должен использовать прокси-сервер.Когда я пытаюсь изнутри сети, я просто получаю «401 - Несанкционированный»
private static void RestWithCert(string certificatePath,string baseUrl,string method)
{
HttpClientHandler handler = new HttpClientHandler();
//when trying the code OUTside our company network I remove the proxy below
handler.Proxy = new WebProxy("http://proxy.company.dk");
handler.ClientCertificates.Add(new X509Certificate2(certificatePath, "password"));
HttpClient client = new HttpClient(handler);
client.BaseAddress = new Uri(baseUrl);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = client.GetAsync(method).Result;
var status = response.StatusCode;
}
За пределами сети, без прокси: Status = OK
Внутри сети, с прокси: Status =Несанкционированный
Внутри сети, без прокси: истекло время ожидания соединения
У меня НЕТ контроля над прокси или веб-службой, к которой я пытаюсь получить доступ
Что происходит?Прокси-сервер перехватывает сертификат и заменяет его?