Как самостоятельно подписать драйвер для windows

Все 64 битные версии Windows, начиная с Windows 7, по умолчанию запрещают установку драйверов устройств, для которых отсутствует действующая цифровая подпись. Наличие цифровой подписи гарантирует (в какой-то мере), что драйвер выпущен конкретным разработчиком или вендором, а его код не был модифицирован после того как он был подписан.

В Windows 7 x64 существует несколько способов отключить проверку цифровой подписи устанавливаемого драйвера: с помощью групповой политики или тестового режима загрузки системы (подробнее все способы описаны в подписать статье Отключаем проверку цифровой подписи для установки неподписанных драйверов в Windows 7).

Сегодня мы покажем, как можно самостоятельно подписать любой неподписанный драйвер для 64 битной версии Windows 7.

Важно. Эта статья касается только Windows 7, подписать таким образом драйвер для Windows 8 и Windows 8.1 не получится. Как установить неподписанный драйвер в Windows 8/8.1 описано здесь.

Предположим, что у нас имеется драйвер некого устройства для Windows 7 x64, для которого отсутствует цифровая подпись (в нашем примере это будет драйвер для довольно старой видеокарты). Архив с драйверами под нашу версию Windows был скачан с сайта производителя и его содержимое распаковано в каталог c:\tools\drv1\. Попробуем установить драйвер, добавив его в хранилище драйверов Windows с помощью стандартной утилиты pnputil.

Pnputil –a c:\tools\drv1\xg20gr.inf

Примечание. Эта и все последующие команды выполняются в командной строке, запущенной с правами администратора.

В процессе его установки система отобразит предупреждение о том, что система не может проверить цифровую подпись данного драйвера. Windows 7 ошибка при установе драйвера без цифровой подписи

Попробуем подписать данный драйвер с помощью самоподписанного сертификата.

Какие инструменты нам понадобятся


Для работы нам понадобится скачать и установить (с настройками по умолчанию) следующие инструменты разработчика приложений для Windows.

Совет. Перед установкой этих инструментов, убедитесь что в системе установлен.NET Framework 4.

Создаем самоподписанный сертификат и закрытый ключ


Создадим в корне диска каталог C:\WinItProDriverCert.

Откроем командную строку и перейдем в следующий каталог:

cd C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1\bin

Создадим самоподписанный сертификат и закрытый ключ, выданный, допустим, для компании Winitpro:

makecert -r -sv C:\WinItProDriverCert\WinitproDrivers.pvk -n CN="Winitpro" C:\WinItProDriverCert\WinItProDrivers.cer

Во время создания утилита попросит указать пароль для ключа, пусть это будет P@ss0wrd.

Создаем самоподписаный сертификат

На основе созданного сертификата создадим публичный ключ для сертификат издателя ПО (PKCS).

cert2spc C:\WinItProDriverCert\WinItProDrivers.cer C:\WinItProDriverCert\WinItProDrivers.spc

Объединим  публичный ключ (.spc) и персональный ключ (.pvk) в одном файле сертификата формата Personal Information Exchange (.pfx)

pvk2pfx -pvk C:\WinItProDriverCert\WinitproDrivers.pvk -pi P@ss0wrd -spc C:\WinItProDriverCert\WinItProDrivers.spc -pfx C:\WinItProDriverCert\WinItProDrivers.pfx -po P@ss0wrd

Подготовка пакета драйверов

Создадим каталог C:\WinItProDriverCert\xg20 и скопируем в него все файлы из каталога, в который первоначально был распакован архив с драйвером (c:\tools\drv1\). Убедить что среди файлов имеются файлы с расширением .sys и .inf (в нашем случае xg20grp.sys и  xg20gr).

Перейдем в каталог:

cd C:\WinDDK00.16385.1\bin\selfsign

На основе inf файла сгенерируем для нашей платформы cat файл (содержит информацию о всех файлах пакета драйвера).

inf2cat.exe /driver:"C:\WinItProDriverCert\xg20" /os:7_X64 /verbose

Генерируем cat файл драйвера на основе inf файла

Чтобы убедитесь, что процедура прошла корректно, проверьте что в логе присутствуют сообщения:

Signability test complete.
и
Catalog generation complete.

После выполнения команды в каталоге драйвера должен обновиться файл xg20gr.cat

Подписываем драйвер самоподписанным сертифкатом

Перейдите в каталог

cd C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1\Bin

Подпишем комплект файлов драйвера созданным нами сертификатом, в качестве сервиса таймстампа воспользуемся ресурсом Verisign.

signtool sign /f C:\WinItProDriverCert\WinItProDrivers.pfx /p P@ss0wrd /t http://timestamp.verisign.com/scripts/timstamp.dll /v C:\WinItProDriverCert\xg20\xg20gr.cat

Подписываем драйвер с помощью сгенерированного сертификата

Примечание. Цифровая подпись драйвера содержится в.cat файле, на который ссылается.inf файл драйвера.

Установка сертификата

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

certmgr.exe -add C:\WinItProDriverCert\WinItProDrivers.cer -s -r localMachine ROOT
certmgr.exe -add C:\WinItProDriverCert\WinItProDrivers.cer -s -r localMachine TRUSTEDPUBLISHER

Или из графического мастера добавления сертификатов (сертификат нужно поместить в хранилища Trusted Publishers и Trusted Root Certification Authorities)

Добавляем сертификат в доверенные

Установка драйвера, заверенного самоподписанным сертификатом

Попробуем еще раз установить подписанный нами драйвер, выполнив команду:

Pnputil –i –a C:\WinItProDriverCert\xg20\xg20gr.inf

Теперь в процессе установки драйвера, окна-предупреждения об отсутствующей цифровой подписи драйвера не появится, система же просто выдаст сообщение о том, уверены ли вы, что хотите установить этот драйвер. Нажав «Install» — вы установите драйвер в системе.

Установка самоподписаного драйвера в windows 7


Источник: http://winitpro.ru/index.php/2014/05/08/kak-samostoyatelno-podpisat-drajver-dlya-windows-7/


Закрыть ... [X]

Установка драйверов без цифровой подписи на Windows 7 x64 Причёски на детский выпускной на длинные волосы

Как самостоятельно подписать драйвер для windows Драйвера без цифровой подписи в Windows 7 Энциклопедия
Как самостоятельно подписать драйвер для windows Все драйверы режима ядра для Windows 10 (1607) теперь
Как самостоятельно подписать драйвер для windows Подписывание драйвера (для Win7/8 64 бит) - Oscill
Как самостоятельно подписать драйвер для windows Как подписать драйвер и главное чем?
Как самостоятельно подписать драйвер для windows 2.2. Вычисление процента использования площади материала для верха
Как самостоятельно подписать драйвер для windows Cached
Анастасия Квитко пластические операции, фото до и после Выкройка юбки. Пошаговые инструкции построения Дизайн ногтей фото. Дизайн ногтей сделайте в домашних условиях Как Вернуть Жену в Семью Как делать отводки и нуклеусы?