Отправка запроса https с использованием аутентификации клиентским сертификатом из приложения .Net приводит к ошибке «System.IO.IOException: Ошибка аутентификации из-за того, что удаленная сторона закрыла транспортный поток» .
Тот же запрос с t тот же сертификат клиента работает с почтальоном, а также с curl .
То же приложение .Net работает в других средах .
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
var url = "https://yyyyyyyy:8081/xxxxxxxxx;
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
X509Certificate2 cert = new X509Certificate2();
cert.Import("zzzzzz.pfx");
if (!cert.HasPrivateKey) throw new Exception("Certificate has no private key");
request.ClientCertificates.Add(cert);
if (request.ClientCertificates.Count != 1) throw new Exception("Certificate not loaded");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// Bumm!!
Необработанное исключение: System.Net.WebException: базовое соединение было закрыто: при отправке произошла непредвиденная ошибка. ---> System.IO.IOException: аутентификация не удалась, потому что удаленная сторона закрыла транспортный поток.