0

我有一个 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()

任何想法需要哪些特权和/或权限才能访问智能卡资源管理器?

亲切的问候,

亨宁克劳斯

4

2 回答 2

1

LocalService 有足够的权限来访问智能卡。这是我采用的解决方案。

于 2018-04-18T07:39:12.240 回答
0

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

于 2011-05-19T15:28:43.563 回答