.NET 4.x WebRequest не отправляет сертификат - C#

Узнай цену своей работы

Формулировка задачи:

Есть следующий код для работы с неким сервисом по api.
Листинг программы
  1. ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12;
  2. ServicePointManager.Expect100Continue = true;
  3. var request = (HttpWebRequest)WebRequest.Create(url);
  4. request.ClientCertificates.AddRange(Certificate);//X509Certificate2Collection считывается из p12 содержащим приватный и публичный ключ
  5. request.ContentType = "application/json";
  6. request.Accept = "application/json";
  7. request.Headers.Add("Accept-Encoding", "gzip,deflate");
  8. request.Method = method.Method;
  9. request.Credentials = new NetworkCredential(UserName, Password);
  10. return request;
И вот в чём прикол. При запросе через curl сертификат отправляется. Но при запросе через этот код, нет. Есть какие идеи? уже пробовал юзать HttpClient. Результат идентичен. Так же при работе с другими сервисами такой проблемы нет. Сертификаты передаются.

Решение задачи: «.NET 4.x WebRequest не отправляет сертификат»

textual
Листинг программы
  1. System.Net Information: 0 : [20820] SecureChannel#41622463 - Сертификат относится к типу X509Certificate2 и содержит закрытый ключ.
  2. System.Net Information: 0 : [20820] AcquireCredentialsHandle(package = Microsoft Unified Security Protocol Provider, intent = Outbound, scc = System.Net.SecureCredential)
  3. System.Net Information: 0 : [20820] InitializeSecurityContext(credential = System.Net.SafeFreeCredential_SECURITY, context =
  4. System.Net Information: 0 : [19136] SecureChannel#41622463 - Пользователь признал удаленный сертификат действительным.
  5. System.Net Information: 0 : [19136] EndProcessAuthentication(протокол=Tls12, шифр=Aes256 256 разрядов, хэш=Sha384 0 разрядов, обмен ключами=44550 256 разрядов).
  6. ....
  7. System.Net.Sockets Verbose: 0 : [19136] Socket#33711845::BeginSend()
  8. System.Net.Sockets Verbose: 0 : [20820] Data from Socket#33711845::PostCompletion

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы