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