Поделиться через


Приложение 4. Проблемы с подписыванием драйверов

Ниже описаны два известных проблемы подписывания драйвера.

Проблема подписывания предыдущей ОС

Каждый новый выпуск Windows и впоследствии в выпущенных пакетах обновления корневые сертификаты от сертифицированных поставщиков ЦС Майкрософт, новые или существующие поставщики с новыми сертификатами добавляются в образ ОС. Например, Vista, XP и т. д. У OSes могут возникнуть неизвестные проблемы с подписью или драйвер, не подписанные, если компьютер под тестом не подключен к Интернету. Если компьютер, на котором выполняется тестирование, подключен к Интернету, новые сертификаты автоматически скачиваются при установке драйвера и не будут возникать никаких проблем. Иногда поставщики ЦС также могут помочь в устранении проблем, когда компьютер под тестом не подключен к Интернету.

Ошибка кода 52

Существует известная ошибка для ОС Windows 7 x64, когда файл каталога (CAT) подписан с помощью нового выпущенного сертификата подписи VeriSign, использующего алгоритм SHA256. Если открыть подписанный файл cat и просмотреть подпись и выбрать вкладку "Сведения", вы увидите следующее:

Снимок экрана, на котором показан хэш-алгоритм подписи.

Чтобы устранить проблему, можно попросить VeriSign предоставить сертификат замены без подписи с помощью хэш-алгоритма SHA1.

Кроме того, вы можете приобрести другой сертификат SHA1 и подписать файл двумя подписями, как показано ниже, если вы хотите сохранить оба сертификата. Обратите внимание, что только .sys файлы могут быть двойными подписами, так как они являются PE-файлами.

Signtool sign /fd sha256 /ac C:\MyCrossCert\Crosscert.cer /s my /n “MyCompany Inc. “ /ph /as /sha1 XX...XX C:\DriverDir\toaster.SYS

Где XX... XX — это хэш сертификата, который вы используете для вторичной подписи. Добавьте /tr в подпись метки времени.

Примечание. Обратите внимание на рекомендации по безопасности Майкрософт (2880823) "Отмена алгоритма хэширования SHA-1 для программы корневого сертификата Майкрософт", в которой описывается изменение политики, в котором корпорация Майкрософт больше не позволит корневым центрам сертификации выдавать сертификаты X.509 с помощью алгоритма хэширования SHA-1 в целях подписи SSL и кода после 1 января 2016 года.

Использование сертификата SHA1 будет устарело корпорацией Майкрософт с 1 января 2016 г. Все поставщики ЦС должны выдавать сертификаты подписи с помощью хэш-алгоритма SHA256.

Windows перестанет принимать сертификаты подписывания кода SHA1 без меток времени после 1 января 2016 года.