Необходимые разрешения для доступа к смарт-картам из службы Windows

У меня есть служба Windows, которая делает некоторые вещи с помощью смарт-карты. Сертификат смарт-карты отображается в хранилище MY локального компьютера. Доступ к закрытому ключу смарт-карты не является проблемой, когда служба запускается как система, но происходит сбой при запуске как NetworkService.

Я уже предоставил доступ к сертификату NetworkService с помощью MMC сертификата (Управление личными ключами...).

Я получаю ошибку: менеджер ресурсов смарт-карт не работает.

Ошибка генерируется с криптографическим исключением.

Stacktrace:   at System.Security.Cryptography.Utils.CreateProvHandle(CspParameters     parameters, Boolean randomKeyContainer)
    at System.Security.Cryptography.Utils.GetKeyPairHelper(CspAlgorithmType keyType, CspParameters parameters, Boolean randomKeyContainer, Int32 dwKeySize, SafeProvHandle& safeProvHandle, SafeKeyHandle& safeKeyHandle)
    at System.Security.Cryptography.RSACryptoServiceProvider.GetKeyPair()
    at System.Security.Cryptography.RSACryptoServiceProvider..ctor(Int32 dwKeySize, CspParameters parameters, Boolean useDefaultKeySize)
    at System.Security.Cryptography.X509Certificates.X509Certificate2.get_PrivateKey()

Любые идеи, какие привилегии и / или разрешения требуются для доступа к диспетчеру ресурсов смарт-карт?

С уважением,

Хеннинг Краузе

2 ответа

Решение

LocalService имеет достаточно разрешений для доступа к смарт-картам. Это решение, которое я выбрал.

X509Certificate2 вызывает исключение "Диспетчер ресурсов смарт-карт не работает" http://blogs.msdn.com/b/alejacma/archive/2011/05/19/x509certificate2-raises-quot-the-smart-card-resource-manager-is-not-running-quot-exception.aspx

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