В настоящее время я борюсь с подписью драйверов устройств Windows 10, моя компания разработала некоторые драйверы для Windows 10 x86 и x64, которые я пытаюсь подписать, используя сертификат SHA1. Я знаю, что SHA1 - не лучший вариант, но все равно должен работать, насколько я понимаю техническую документацию от Microsoft.

Проблема в том, что драйверы установлены правильно, и даже если я проверю их с помощью опции проверки Signtool, они, похоже, будут в порядке. Windows 10 также говорит, что они устанавливаются нормально при установке INF-файла. Я подписал все подписываемые файлы в пакете драйвера, включая CAT-файлы, DLL-файлы, SYS-файлы и т.д.

Точка, в которой драйверы фактически не работают, находится в диспетчере устройств Windows 10, там я получаю значок восклицательного знака вместе со следующим описанием:

«Код 52 - Windows не может проверить цифровую подпись ...»

Рабочий процесс, который я использую, точно такой же, как и другие фактические данные, но остальное то же самое.

"C:\Program Files (x86)\Windows Kits\10\bin\x86\stampinf.exe" -f "P:\MyDriver\mydriver.inf" -d 08/11/2017 -v 1.0.0.1

"C:\Program Files (x86)\Windows Kits\10\bin\x86\Inf2Cat.exe" /driver:"P:\MyDriver" /os:10_X86,10_X64,7_X86,7_X64,8_X86,8_X64,XP_X86,XP_X64

"C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe" sign /f 
"C:\Users\me\Documents\MyCert\MyCert.pfx" /p myVerySecretPassw0rd /d "My Drivers" /du "http://www.myveryverycompaniesurl.com" /t "http://timestamp.verisign.com/scripts/timestamp.dll" /v /ph "P:\MyDrivers\*.*"

Вот что "signtool verify" сообщает о файлах драйверов, созданных таким образом:

Verifying: P:\MyDrivers\OneOfMyDLLs.dll

Signature Index: 0 (Primary Signature)
Hash of file (sha1): *************************************************

Signing Certificate Chain:
Issued to: COMODO RSA Certification Authority

Issued by: COMODO RSA Certification Authority

Expires:   Tue Jan 19 01:59:59 2038

SHA1 hash: *************************************************


    Issued to: COMODO RSA Code Signing CA

    Issued by: COMODO RSA Certification Authority

    Expires:   Tue May 09 01:59:59 2028

    SHA1 hash: *************************************************


        Issued to: My Company

        Issued by: COMODO RSA Code Signing CA

        Expires:   Tue Sep 18 01:59:59 2018

        SHA1 hash: *************************************************

Так что для меня все выглядит хорошо, до того момента, когда дело доходит до диспетчера устройств, у которого есть некоторые проблемы с одной из подписей, или вообще с тем, как подписываются файлы, но на самом деле это не дает мне подсказку, что происходит неправильно. Редактировать: если Microsoft считает, что SHA-1 недостаточно, почему нет сообщения об ошибке, подтверждающего этот факт?

1 ответ1

1

Я знаю, что SHA1 - не лучший вариант, но все равно должен работать, насколько я понимаю техническую документацию от Microsoft.

Проблема в том, что текущая сборка Windows 10 не доверяет сертификатам подписи кода SHA1. Если вы хотите, вы можете переопределить это поведение, добавив всю цепочку сертификатов для вашего сертификата.

Основываясь на важном объявлении об изменении - об отказе от SHA-1 непосредственно от Comodo, Windows перестает доверять сертификатам подписи кода SHA1 еще в январе 2016 года.

1 января 2016 г. - продукты Microsoft, включая Internet Explorer и Chrome, перестанут доверять сертификатам подписи кода SHA-1

Microsoft по состоянию на май 2017 года заявила:

Сегодня мы намерены сделать больше, чтобы предупредить потребителей о риске загрузки программного обеспечения, подписанного с использованием сертификата SHA-1. Наша цель - разработать общий опыт на уровне ОС, который могут использоваться всеми приложениями для предупреждения пользователей о слабой криптографии, такой как SHA-1. В долгосрочной перспективе Microsoft намерена не доверять SHA-1 в Windows во всех контекстах. Microsoft внимательно следит за последними исследованиями возможности атак SHA-1 и будет использовать их для определения полных сроков устаревания.

Применение Windows сертификатов SHA1

Один из ответов на « Отказ от сертификатов подписи кода SHA1 в Windows» представлен в следующей таблице. Ответ, о котором идет речь, имеет некоторые безопасные последствия для использования сертификатов SHA1.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .