为什么 SYSTEM 帐户无法访问用户的证书存储?
同时SYSTEM帐户能够从智能卡读取证书(通过CSP dll)并将其放入证书存储区(在这种情况下, winlogon.exe正在使用CSP ,所以我猜是winlogon.exe里面有一些魔法)。
CertOpenSystemStore( NULL, L"MY" )
比如在系统账号下调用会成功,但是CertFindCertificateInStore()
什么都找不到,因为看起来商店是空的。当我登录时,CertFindCertificateInStore()
会找到请求的证书。