我有一个 Windows 服务,它使用智能卡做一些事情。智能卡的证书映射到本地机器的 MY 存储中。当服务作为 System 运行时,访问智能卡的私钥是没有问题的,但在作为 NetworkService 运行时会失败。
我已经使用证书 MMC(管理私钥...)授予对 NetworkService 证书的访问权限。
我得到的错误是:智能卡资源管理器没有运行。
该错误与加密异常一起引发。
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()
任何想法需要哪些特权和/或权限才能访问智能卡资源管理器?
亲切的问候,
亨宁克劳斯