Как дать разрешение сетевой службе на установку сертификата в хранилище сертификатов

Мы разработали приложение ASP.Net. Мой пул приложений работает под именем Network Service Identify. Через код, который нам нужен для установки сертификата. Поскольку мой пул приложений работает с привилегиями сетевой службы, он вызывает криптографическое исключение "Отказано в доступе".

Я попробовал следующий вариант:

  1. Предоставлены полные права доступа к сетевой службе по следующему пути: "C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys"
  2. Установлен и ниже инструмент для предоставления разрешения на обслуживание сети. WinHttpCertCfg.exe Невозможно дать разрешения для корневого сертификата. Этот инструмент полезен только для разрешения доступа к определенному сертификату.

Пожалуйста, помогите мне решить эту проблему.

2 ответа

Согласно статье, найденной на MSDN

http://msdn.microsoft.com/en-us/library/windows/desktop/aa384088(v=vs.85).aspx

Это говорит:

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

Поэтому проверьте, входит ли сетевой сервис в группу локальных администраторов.

Вся история ASP.net разрешений на хранилище корневых сертификатов

загрузите примеры проектов WCF по ссылке ниже и скомпилируйте проект FindPrivatekey. (советы: добавьте ссылку system.security, в противном случае вы обнаружите неопределенную ошибку функции X509Certificate2UI) http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=21459

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