Проверьте цифровую подпись в папке system32 / drivers - PullRequest
1 голос
/ 18 февраля 2012

Я провел всю ночь, исследуя это без решения.

Я пытаюсь проверить цифровую подпись файла в папке дисков (C: \ Windows \ System32 \ drivers * .sys)выбрать любой, который вы хотите.Я знаю, что код правильный, потому что, если вы переместите файл из этой папки в C: \, тест сработает.

WinVerifyTrust выдает ошибку 80092003 http://pastebin.com/nLR7rvZe

CryptQueryObject выдает ошибку80092009 http://pastebin.com/45Ra6eL4

В чем дело?

Ответы [ 2 ]

6 голосов
/ 18 февраля 2012

0x80092003 = CRYPT_E_FILE_ERROR = Произошла ошибка при чтении или записи в файл.

0x80092009 = CRYPT_E_NO_MATCH = Нет совпадений при попытке найти объект.

Я предполагаю, что вы работаете на 64-битной машине, а перенаправление файловой системы WOW64 перенаправляет вас на syswow64 \ drivers, который пуст. Вы можете отключить перенаправление с помощью Wow64DisableWow64FsRedirection () .

3 голосов
/ 13 сентября 2012

Если вы щелкнете правой кнопкой мыши и просмотрите свойства файла, сможете ли вы увидеть цифровую подпись? Скорее всего, ваш файл является частью каталога, и вам нужно использовать API каталога, чтобы извлечь сертификат из БД сертификата и проверить его.

...