Проверьте цифровую подпись в папке 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 каталога, чтобы извлечь сертификат из БД сертификата и проверить его.