ASP.NET, HttpWebRequest и "Не удалось создать безопасный канал SSL/TLS"
Да, я знаю, что есть десятки подобных вопросов на SO и Google. Да, я прочитал их все и попробовал все, что там было сказано. И да, любое решение не помогло мне.
У меня есть библиотека классов, которая используется в контексте приложения ASP.NET. Моя библиотека классов загружает данные со стороннего веб-сайта HTTPS. Этот сайт требует сертификата клиента. Я добавил сертификат в LOCAL_MACHINE\MY
и предоставил доступ к нему в winhttpcertcfg
,
мой LogIn
Метод находит этот сертификат в магазине. Как я вижу в выводе отладки - все хорошо на этом этапе. Но позже, когда я пытаюсь загрузить страницы, я получаю The request was aborted: Could not create SSL/TLS secure channel.
исключение.
Мой код:
client = new XHttpClient();
X509Store store;
X509CertificateCollection certificates;
store = new X509Store(StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
certificates = store.Certificates.Find(
X509FindType.FindByIssuerName,
"Xxxxxxxx Root CA", true);
// everything is fine here, certificates[0] is my certificate
client.ClientCertificates.AddRange(certificates);
store.Close();
Есть идеи?
1 ответ
Ладно ребята Я сам нашел причину. Благодаря этому сообщению я обнаружил, что IIS 7.5 работает от имени пользователя IIS_IUSRS, а не NetworkService, как я полагал. Однажды я предоставил доступ к сертификату с помощью winhttpcertcfg
, это начало работать.