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, это начало работать.

Другие вопросы по тегам