Учетная запись SYSTEM не может получить доступ к хранилищу сертификатов - PullRequest
0 голосов
/ 18 января 2012

Почему учетная запись SYSTEM не может получить доступ к хранилищу сертификатов пользователя?

В то же время учетная запись SYSTEM может считывать сертификат (через dll CSP) со смарт-карты и помещать его в хранилище сертификатов (CSP используется winlogon.exe в этом случай, так что я думаю, что в winlogon.exe есть немного магии).

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

Ответы [ 2 ]

1 голос
/ 01 февраля 2012

У каждого пользователя есть свой Личный магазин, поэтому, если вам удастся найти что-то в учетной записи пользователя USER A, вы не сможете получить его от Пользователя 2. Попробуйте использовать MMC для доступа к хранилищам сертификатов других пользователей и учетных записей служб.

0 голосов
/ 10 февраля 2016

Либо вам нужно поместить соответствующие сертификаты в хранилище сертификатов SYSTEM, либо вам нужно выдать себя за пользователя, в хранилище которого вы хотите получить доступ.Олицетворение может быть сделано несколькими способами, я предложил бы начать смотреть на MSDN .

...