SYSTEM帐户无法访问证书存储区

时间:2012-01-18 11:11:13

标签: windows certificate cryptoapi rsacryptoserviceprovider

为什么SYSTEM帐户无法访问用户的证书存储区?

同时,SYSTEM帐户可以从智能卡读取证书(通过CSP dll)并将其放入证书存储区( winlogon.exe 正在使用CSP)这种情况,所以我猜winlogon.exe里面有一些魔法。)

例如,在系统帐户下调用CertOpenSystemStore( NULL, L"MY" )会成功,但CertFindCertificateInStore()将找不到任何内容,因为它看起来像商店是空的。当我登录时,CertFindCertificateInStore()将找到所请求的证书。

2 个答案:

答案 0 :(得分:1)

每个用户都有不同的MY商店,因此如果您能够在USER A登录我的商店中找到某些内容,您可能无法从用户2获得该商品。 尝试使用MMC访问其他用户和服务帐户的证书存储。

答案 1 :(得分:0)

您需要将相关证书放在SYSTEM证书库中,或者您需要模拟您希望访问其商店的用户。模仿可以通过多种方式完成,我建议您开始查看MSDN