Доступ к сертификату закрытого ключа IIS 6

У нас есть приложение ASP asp.net, работающее в среде 2.0 и размещенное на сервере IIS 6, а ОС - это сервер Windows 2003. Веб-приложение подает иск на сертификат клиента, который должен быть аутентифицирован веб-службой. Мы обезличили пул приложений с помощью пользователя "Network Service".

Проблема заключается в том, что нам нужно получить доступ к закрытому ключу сертификата, который хранится в ключе машины/моем хранилище. Пользовательская сетевая служба не может получить доступ к ключу.

Мы предоставили привилегии пользователю Network Service с помощью инструмента winhttpcertcfg.exe, однако результат тот же.

Когда мы безлимитируем пул приложений с локальным администратором, результат будет успешным. Поэтому мы считаем, что проблема заключается в привилегиях пользователя.

Если кто-то может дать нам некоторую информацию, мы будем благодарны.

Заранее спасибо

Ответ 1

Наконец, мы решили решить эту проблему после многих неудачных результатов, но при завершении каждой проблемы имеет свое решение.

Наше решение состоит из создания учетной записи администратора для локальной машины. После этого мы входим в эту учетную запись и запускаем команду MMC/s. Мы импортируем сертификат в LOCAL_MACHINE/My store.

Вторая часть - удалить пользователя из группы администраторов и , мы создаем учетную запись службы для приложения ASP.NET 2.0 с созданным пользователем, что лучше объясняется в следующем URL http://msdn.microsoft.com/en-us/library/ms998297.aspx.

Удачи.

Ответ 2

Что касается меня, работает только это решение (IIS 6, Win 2003 Srv), но с одной проблемой... Моя специальная учетная запись может считывать сертификат из приложения ASP.NET только в том случае, если я запускаю какое-либо приложение перед его правами ( "Run as..." ). Без этого действия есть ошибка безопасности, когда я пытаюсь отправить http-запрос (WinHttpRequest) с необходимым сертификатом.