Разбираюсь с ситуацией, напоминающей
недавно обсуждавшуюсяАвтор: CaptainFlint
Дата: 25.01.17
, но наоборот: процесс установки драйвера проходит, как положено — предлагается сейчас или всегда доверять источнику, установка завершается успешно, но ядро отказывается загружать драйвер, выставляя ошибку 52.
Происходит это в достанной из бэкапа виртуалке Win7 SP1 x64, на которую не ставились автоматические обновления. В восьмерках/десятках драйвер загружается.
Сам сертификат от DigiCert с SHA-256, но драйвер подписан с SHA-1. То, что сам сертификат с SHA-256, требует наличия соответствующей поддержки в Win7?
Показательно, что "signtool verify /a /v" всегда выдает в конце:
Number of errors: 1
SignTool Error: A certificate chain processed, but terminated in a root
certificate which is not trusted by the trust provider.
Но не указывает на сертификат, который ей не нравится. В точности то же самое она выдает под восьмерками/десятками, где драйвер загружается — значит, имеет место глюк с проверкой.
"signtool verify /kp" всегда и везде выдает "Successfully verified". DigiCert Certificate Utility тоже показывает зеленые галочки.
Похоже, проблема возникает из-за отличия алгоритмов проверки подписи в user-mode и в kernel-mode. Вопрос в том, какие сертификаты нужно доставить в Computer Account / Local Computer, чтобы заработала проверка в kernel-mode. Или, если сертификаты вшиты в ядро — какое — обновление поставить.
Включил автообновление — предлагает обновлений на полтора гига. Трафик ограничен (мобильное соединение), и точно помню, что до того, как сперли старый комп, эта виртуалка (в ее более свежем состоянии) драйверы с такой подписью загружала, а автообновлений я в ней никогда не разрешал. То есть, ставил что-то вручную, и не помню, чтобы это потребовало сколько-нибудь заметной возни.