Почему учетная запись SYSTEM не может получить доступ к хранилищу сертификатов пользователя?
В то же время учетная запись SYSTEM может считывать сертификат (через dll CSP) со смарт-карты и помещать его в хранилище сертификатов (CSP используется winlogon.exe в этом случай, так что я думаю, что в winlogon.exe есть немного магии).
Например, вызов CertOpenSystemStore( NULL, L"MY" )
под системной учетной записью будет успешным, но CertFindCertificateInStore()
ничего не найдет, потому что похоже, что хранилище пусто. Когда я вхожу в систему, CertFindCertificateInStore()
найдет запрошенный сертификат.