Проверьте цифровую подпись в папке system32/drivers

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

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

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

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

В чем дело?

2 ответа

Решение

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

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

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

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

Другие вопросы по тегам