Windows 10: код ошибки 52 в диспетчере устройств с правильной подписью в кросс-подписанном драйвере - PullRequest
0 голосов
/ 12 октября 2018

мы разработали драйвер и подписали файл cat и sys подписью Verisign нашей компании (SHA1 + SHA256, включая цепочку сертификатов).Мы протестировали его под Windows 7 и 10 как 32, так и 64-битными версиями.Теперь у нас есть несколько случайных клиентов, которые сообщают, что наше устройство не распознается правильно в диспетчере устройств, и появляется ошибка 52:

Windows не может проверить цифровую подпись для драйверов, необходимых для этого устройства.Недавнее изменение оборудования или программного обеспечения могло привести к установке файла, который подписан неправильно или поврежден, или это могло быть вредоносное программное обеспечение из неизвестного источника.(Код 52)

Setupapi.dev.log показывает эту ошибку:

_ !!!dvi: устройство не запущено: устройство имеет проблему: 0x34 (CM_PROB_UNSIGNED_DRIVER), состояние проблемы: 0xc0000428

Но это сообщение в Setupapi.dev.log также присутствует в рабочих установках.

Инструмент подписи показывает, что подпись действительна, также как и страница свойств в проводнике Windows.

В чем причина такого поведения?

1 Ответ

0 голосов
/ 12 октября 2018

Потенциальными решениями этого были не двойная подпись файла cat и проверка корневых сертификатов ПК клиента .Я также узнал, что сообщение об ошибке в setupapi.dev.log совершенно нормально

После некоторых исследований с большим количеством явно противоречивой документации Microsoft я наконец-то приземлился на https://docs.microsoft.com/windows-hardware/drivers/install/kernel-mode-code-signing-policy--windows-vista-and-later-, гдев нем говорится:

"Примечание. Начиная с Windows 10 версии 1607, Windows не будет загружать новые драйверы режима ядра, которые не подписаны порталом разработки.

[...]

Драйверы с перекрестной подписью все еще разрешены, если выполняется любое из следующих условий:

ПК был обновлен с более ранней версии Windows до Windows 10, версия 1607.

Безопасная загрузка отключена в BIOS.

Драйверы были подписаны сертификатом конечного объекта, выпущенным до 29 июля 2015 года, который связывается с поддерживаемым перекрестно подписанным центром сертификации. "

И оказалось, что Secure Boot была включена ни на одном из наших тестируемых компьютеров, а именно на тех клиентских компьютерах, у которых возникла проблема.

Теперь мы должны выполнить сертификацию WHQL с драйверами.э.К счастью, есть компании, которые предлагают это как услугу, поэтому нам не нужно поддерживать пул сертификационных машин.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...