Как сделать цифровую подпись драйвера windows 10 x64

Как подписать драйвер Windows 10, 8.1 и Windows 7 x64 и x86

Windows 10, 8.1 и Windows 7 позволяют отключить обязательную проверку цифровой подписи драйверов и установить неподписанный драйвер, однако если в последних версиях ОС это нужно сделать на постоянной основе, изменение опций с помощью bcdedit не помогает. Однако, может помочь самостоятельная подпись драйвера и его последующая установка, о чем и поговорим.

В этой инструкции подробно о том, как самостоятельно подписать драйвер для Windows 10, 8.1 или Windows 7 x64 или 32-бит (x86) для последующей установки в системе на постоянной основе без отключения проверки цифровой подписи драйверов, избежав при этом ошибок наподобие «INF стороннего производителя не содержит информации о подписи».

Что потребуется для подписи драйвера

Для того, чтобы выполнить все описанные далее шаги, скачайте и установите следующие инструменты с сайта Майкрософт:

Из первого набора достаточно будет установить Tools, из второго (представляет собой ISO-образ с установщиком, с которого нужно запустить KitSetup.exe) — выбрать Build Environments и Tools.

Обратите внимание: это не последние версии наборов инструментов, но они в равной степени подойдут для самостоятельной подписи драйверов для последующей установки во всех ОС от Windows 10 до Windows 7, при этом в инструкции не потребуется вдаваться в некоторые дополнительные нюансы.

Процесс самостоятельной подписи драйвера

В процессе для того, чтобы подписать драйвер самостоятельно, нам потребуется: создать сертификат, подписать драйвер этим сертификатом, установить сертификат в системе и установить драйвер. Начнем.

  1. Создайте в корне диска C какую-либо папку (так к ней проще будет обращаться в дальнейшем), например, C:\cert, где мы будем работать с сертификатами и драйверами.
  2. Запустите командную строку от имени администратора (нужны для 18-го шага). Далее используем следующие команды по порядку. Файлы драйвера пока не потребуются. Во время выполнения второй команды вас попросят ввести пароль, я использую password в окне запроса и далее в командах, вы можете использовать свой.
  3. До этого этапа всё должно пройти как на скриншоте ниже, командную строку не закрываем.
  4. В папке C:\cert создайте вложенную папку, например, drv и поместите туда свои файлы драйвера. Но: если вам требуется драйвер только для x64, не копируйте .inf файл для x86 систем в эту папку и наоборот. В командной строке используем следующие команды:
  5. В предыдущей команде для драйвера 32-бит укажите X86 вместо X64. Если будет предложено скачать .NET Framework, согласитесь, установите, а затем заново выполните команду. В идеале вы должны будете получить сообщение об успешном создании .cat файла для подписи. Однако, возможны ошибки, о наиболее частых — следующие два пункта. После исправления ошибок повторите команду из пункта 10.
  6. DriverVer set to incorrect date — возникает при дате в файле драйвера до 21 апреля 2009 года. Решение: откройте файл .inf из папки drv в текстовом редакторе (можно в блокноте) и в строке DriverVer установите другую дату (формат: месяц/день/год).
  7. Missing AMD64 CatalogFile entry (для 64-бит) или Missing 32-bit CatalogFile entry. Решение: откройте файл .inf из папки drv в текстовом редакторе и в разделе [Version] добавьте строку CatalogFile=catalog.cat
  8. В итоге вы должны получить сообщение: Catalog generation complete с указанием пути к файлу каталога, в моем случае – C:\cert\drv\catalog.cat. Далее используем следующие команды (требуется подключение к Интернету).
  9. Результат подписи файла драйвера без ошибок на скриншоте ниже. Следующий шаг — добавить самоподписанный сертификат в список доверенных в системе, сделать это можно следующими двумя командами по порядку
  10. В результате вы должны получить сообщение «CertMgr Succeeded». Если Failed или certmgr.exe не является внутренней или внешней командой — убедитесь, что командная строка запущена от имени администратора, а вы находитесь в нужной папке (см. 15 шаг).
Читайте также:  Как обновить драйвера на модеме yota

И вот теперь можно закрыть командную строку и установить драйвер из папки C:\cert\drv с помощью диспетчера устройств, или нажав правой кнопкой по .inf файлу и выбрав пункт «Установить». Потребуется подтвердить установку драйвера в окне «Не удалось проверить издателя этих драйверов» — нажать «Все равно установить этот драйвер».

Обратите внимание, что возможные ошибки в диспетчере устройств, отображаемые для устройства с самостоятельно подписанным драйвером обычно не имеют отношения непосредственно к процессу подписи (та же ошибка для них будет появляться и без подписи, при простом отключении проверки цифровой подписи драйверов в особых вариантах загрузки). Т.е. искать причину в этом случае нужно в чем-то ещё и читать подробную инструкцию по использованию драйвера (например, в случае драйверов для FlashTool).

Источник

Как подписать драйвер

По умолчанию все последние версии Windows запрещают устанавливать драйверы устройств, которые не подписаны действительной цифровой подписью. Такие драйверы блокируются системой. Цифровая подпись гарантирует (в некоторой степени), что драйвер был выпущен определенным разработчиком или поставщиком, и его код не был изменен после того, как он был подписан.

Проще говоря, если драйвер подписан, то компьютер считает, что он не менялся после того как его сделали разработчики соответствующего оборудования, и что никакие злые хакеры не вписали в драйвер вредоносный код, который мог бы украсть Ваши пароли или ещё чего плохого натворить.

Как подписать драйвер для работы устройств на Windows 10 или Windows 7

Разных причин отсутствия подписи много, и раз Вы это читаете, то скорее всего столкнулись с одной из таких причин. В этом примере попробуем установить довольно старый драйвер для звуковой карты, для которого уже истек срок активности сертификата. Архив с драйверами был загружен с веб-сайта производителя ноутбуков, укомплектованных соответствующей видеокартой (нам удалось найти версию драйвера для Windows XP). Чтоб было удобнее работать с драйвером, он был перемещён в специально созданную под него папку: c:\drv\ (папка с названием “drv” на диске “C”). Пробуем установить драйвер путем добавления его через консоль в хранилище драйверов, с помощью стандартного инструмента pnputil:
Pnputil –a c:\drv\HDALC2.inf

Для этого впишите “cmd.exe” в поисковой строке рядом с кнопкой “Пуск” и нажмите “Запустить от имени администратора”. Если у Вас на этом этапе открывается окно с предупреждением, нажмите “Да”.
Можете или скопировать адрес из примера и вставить в консоль нажатием правой кнопки мышки, или ввести вручную. Только не забудьте поменять название файла драйвера из примера на название файла Вашего драйвера, а также поменять адрес, если Вы распаковали драйвер в другую папку.

Ожидаемо, получаем ошибку, указывающую на то, что в INF-файле не удаётся обнаружить информацию о цифровой подписи.
То же сообщение мы получим если попробуем нажать на файле драйвера ПКМ и выбрать “Установить”.

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

Необходимые инструменты

Чтобы сгенерировать подпись и подписать драйвер, вам необходимо загрузить и установить следующие инструменты разработки приложений (с настройками по умолчанию):

  • .NET Framework 4 — нужен для работы нижеуказанных инструментов;
  • Windows SDK (можно не скачивать, если у Вас есть Visual Studio 2005 или новее) для вашей версии Windows. В комплект входит набор инструментов для подписания, в котором и находится нужное средство — signtool.exe;
  • WDK 7.1.0.

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

  1. Создайте папку “DrvCert” на диске “C”
  2. Вернитесь в консоль и введите cd C:\Program Files (x86)\Windows Kits\10\bin\x64\
  3. Создайте самоподписанный сертификат командой makecert -r -sv C:\DrvCert\myDrivers.pvk -n CN=»Company» C:\DrvCert\myDrivers.cer , — где вместо «Company» можно ввести любое другое название условной компании, для которой издается сертификат. В процессе Вам нужно будет задать пароль. Возьмём для примера “0rPr0RpR”.
  4. Создайте публичный ключ командой cert2spc C:\DrvCert\myDrivers.cer C:\DrvCert\myDrivers.spc
  5. Совместите публичный и приватный ключи в сертификате с форматом .pfx с помощью команды pvk2pfx -pvk C:\DrvCert\myDrivers.pvk -pi 0rPr0RpR -spc C:\DrvCert\myDrivers.spc -pfx C:\DrvCert\myDrivers.pfx -po 0rPr0RpR — где в конце тот пароль, который Вы вводили ранее.

Создание Файла Каталога

  1. Теперь нужно создать папку C:\DrvCert\hda и скопировать в неё все файлы из папки, в которую первоначально был извлечен драйвер из архива (c:\drv\). Среди этих файлов обязательно должны быть файлы форматов .sys и .inf (в примере: RTKHDAUD.sys и HDALC2.inf).
  2. Вернитесь в консоль и введите cd C:\WinDDK\7600.16385.1\bin\selfsign
  3. Создайте файл CAT (в нём находится информация о расположении файлов в пакете драйвера) на основе файла INF с помощью средства inf2cat.exe (входит в комплект WDK). Для этого запустите следующую команду: inf2cat.exe /driver:»C:\DrvCert\hda» /os:7_X86 /verbose .
Читайте также:  Что такое драйвер для микроконтроллера

Подписание драйвера

  1. Введите cd C:\Program Files (x86)\Windows Kits\10\bin\x64\
  2. Теперь набор файлов драйверов нужно подписать сертификатом, который вы создали ранее, используя службу Globalsign.

Следующая команда подпишет файл CAT цифровой подписью, используя сертификат, хранящийся в файле PFX, защищенный введенным ранее паролем: signtool sign /f C:\DrvCert\myDrivers.pfx /p 0rPr0RpR /t http://timestamp.verisign.com/scripts/timstamp.dll /v C:\DrvCert\hda\hda32.cat , где в конце — название .cat файла который появился в папке
Если всё прошло успешно то появится сообщение:
Successfully signed: C:\DrvCert\xg\HDALC2.cat

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

Поскольку созданный только-что сертификат является самоподписанным, по умолчанию система ему не доверяет. Добавьте свой сертификат в хранилище сертификатов локального компьютера:
certmgr.exe -add C:\DrvCert\myDrivers.cer -s -r localMachine ROOT
certmgr.exe -add C:\DrvCert\myDrivers.cer -s -r localMachine TRUSTEDPUBLISHER

Установка драйвера

Вводим команду: Pnputil –i –a C:\DrvCert\hda\HDALC2.inf
Теперь ошибка как при первой попытке не появляется, а вместо неё видим сообщение об успешной установке драйвера.

Поздравляем с успешной установкой!
Можно было и избежать мороки с массой команд и установить драйвер с помощью отключения проверки сертификата, но об этом уже в другой статье.

Источник

Руководство по подписи драйверов Windows

В этом руководстве приводятся общие сведения о действиях по подписи двоичных файлов драйверов для Windows в одном объединенном расположении. В следующих подтопиках описан процесс:

Обзор

Начиная с Windows Vista, для загрузки всех программ, работающих в режиме ядра, в том числе драйверов, для загрузки требуется все программное обеспечение на основе x64.

Корпорация Майкрософт предоставляет следующие два способа цифровой подписи драйверов:

  1. Сертификация драйвера с помощью Корпорации Майкрософт и Майкрософт предоставит для него подпись. Когда пакет драйверов проходит сертификационные тесты, он может быть подписан Windows Hardware Quality Labs (WHQL). Если пакет драйверов подписан WHQL, его можно распространить с помощью программы Центра обновления Windows или других механизмов распространения, поддерживаемых корпорацией Майкрософт.
  2. Поставщики или разработчики драйверов могут получить сертификат публикации программного обеспечения (SPC) из авторизованного центра сертификации (ЦС) Майкрософт и использовать его для подписывания двоичных файлов в режиме ядра и пользовательского режима.

В случае загрузочных драйверов во время запуска системы драйверы, загруженные системным загрузчиком (Windows Vista и более поздних версий Windows), поставщики должны использовать сертификат издателей программного обеспечения (SPC), чтобы внедрить файл двоичного образа драйвера.

Примечание Обязательная политика подписывания кода в режиме ядра применяется ко всем программному обеспечению в режиме ядра для систем на базе x64, работающих в Windows Vista и более поздних версиях Windows. Однако корпорация Майкрософт рекомендует издателям подписывать все программное обеспечение в режиме ядра, включая драйверы устройств (включенные драйверы пользовательского режима) для 32-разрядных систем. Windows Vista и более поздние версии Windows проверяют подписи в режиме ядра в 32-разрядных системах. Программное обеспечение для поддержки защищенного мультимедийного содержимого должно быть цифровой подписью, даже если это 32-разрядная версия.

Драйверы в пользовательском режиме, например драйвер принтера, будут устанавливаться и работать на компьютере с архитектурой x64. Во время установки появится диалоговое окно с запросом утверждения для установки драйвера. Начиная с Windows 8 и более поздних версий Windows установка не будет продолжена, если эти пакеты драйверов также не подписаны.

Следующие ресурсы описывают более подробные сведения о входе драйвера:

Источник

Знак аттестации Windows 10+ драйверы

В этой статье описывается, как подписать драйвер с помощью подписи аттестации. Подробные сведения и требования для подписывания аттестации см. в Windows 10 драйверах, подписанных аттестацией.

Предварительные требования

Зарегистрируйтесь в программе разработчика оборудования. Если вы еще не зарегистрированы, выполните действия, описанные в разделе «Регистрация в программе разработчика оборудования Microsoft Windows».

У вас должен быть сертификат подписи кода расширенной проверки (EV). Проверьте, уже ли у вашей организации есть сертификат подписи кода. Если у вашей компании уже есть сертификат, он доступен. Если у вашей организации нет сертификата, необходимо приобрести сертификат EV.

Читайте также:  Драйвера для геймпада denn dgp251

Выполните процедуру, описанную в разделе «Скачать комплекты и средства» для Windows 10, чтобы скачать и установить комплект драйверов Windows (WDK).

(Необязательно) Скачайте пример эхо-драйвера , используемый в этой статье.

Создание CAB-файла

В этом разделе мы рассмотрим процесс создания отправки CAB-файлов. Мы будем использовать пример эхо-драйвера для иллюстрации процесса.

Типичная отправка CAB-файла должна содержать следующее:

  • Сам драйвер, например Echo.sys
  • INF-файл драйвера, используемый панелью мониторинга для упрощения процесса подписывания.
  • Файл символов, используемый для отладки сведений. Например, Echo.pdb.
  • Файлы .CAT каталога являются обязательными и используются только для проверки компании. Корпорация Майкрософт повторно создает файлы каталога и заменяет все отправленные файлы каталога.

Каждая папка драйвера в CAB-файле должна поддерживать один и тот же набор архитектур. Например, они должны поддерживать x86, x64 или все они должны поддерживать как x86, так и x64.

Не используйте UNC-пути к общей папке при ссылке на расположения драйверов ( \\\server\share ). Чтобы cab-файл был допустимым, необходимо использовать сопоставленную букву диска.

Чтобы создать CAB-файл, выполните следующие действия.

Соберите двоичные файлы для входа в один каталог. В этом примере мы будем использовать C:\\Echo .

Откройте окно командной строки от имени администратора.

Введите MakeCab /? , чтобы просмотреть параметры MakeCab:

Подготовка входного файла cab-файла DDF. Для нашего эхо-драйвера это может выглядеть примерно так.

Введите следующую команду, чтобы создать CAB-файл.

Выходные данные MakeCab должны отображать количество файлов в созданном CAB-файле. В этом случае должно быть два файла.

Найдите CAB-файл в подкаталоге Disk1 . Cab-файл можно выбрать в проводник, чтобы убедиться, что он содержит ожидаемые файлы.

Подписыв CAB-файл с помощью сертификата EV

Используйте процесс, рекомендуемый поставщиком сертификатов EV, чтобы подписать CAB-файл с сертификатом EV. Например, чтобы подписать CAB-файл с помощью сертификата SHA256, алгоритма дайджеста или метки времени, введите следующую команду:

Не забудьте использовать отраслевые рекомендации по управлению безопасностью процесса подписывания кода EV.

Отправка подписанного CAB-файла EV с помощью Центра партнеров

Перейдите на панель мониторинга оборудования Центра партнеров и войдите с помощью учетных данных.

Выберите «Отправить новое оборудование«.

В разделе «Пакеты и свойства подписывания» введите имя продукта для отправки драйвера. Это имя можно использовать для поиска и упорядочения отправки драйверов.

Если вы поделитесь своим драйвером с другой компанией, они увидят это имя.

Оставьте оба параметра проверки подписывания без флажка.

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

Перейдите вниз по странице и нажмите кнопку «Отправить«.

После завершения процесса подписывания скачайте подписанный драйвер с аппаратной панели мониторинга.

Проверка правильности подписи драйвера

Выполните следующие действия, чтобы убедиться, что драйвер был правильно подписан.

После скачивания файла отправки извлеките файл драйвера.

Откройте окно командной строки от имени администратора.

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

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

Чтобы подтвердить, что EKU драйвера выполните следующие действия.

Откройте проводник Windows и найдите двоичный файл. Выберите и удерживайте (или щелкните правой кнопкой мыши) файл и выберите пункт «Свойства«.

На вкладке «Цифровые подписи» выберите указанный элемент в списке подписей.

Выберите «Сведения» и выберите «Просмотреть сертификат«.

На вкладке «Сведения» выберите «Расширенное использование ключа«.

Когда драйвер ушел в отставку на панели мониторинга, используется следующий процесс.

  • Добавляет внедренную подпись Microsoft SHA2.
  • Если двоичные файлы драйверов внедрены клиентом с собственными сертификатами, эти подписи не будут перезаписаны.
  • Создает и подписывает новый файл каталога с помощью сертификата Майкрософт SHA2. Этот каталог заменяет существующий каталог, предоставленный клиентом.

Тестирование драйвера на Windows 10

Чтобы установить пример драйвера, используйте следующие инструкции.

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

Убедитесь, что процесс установки драйвера не отображает сообщение «Windows не может проверить издателя этого программного обеспечения драйвера». Диалоговое окно «Безопасность Windows».

Создание отправки с несколькими драйверами

Чтобы отправить несколько драйверов одновременно, выполните следующие действия.

Создайте подкаталог для каждого драйвера, как показано ниже.

Подготовьте входной файл CAB-файла DDF, который ссылается на подкаталоги. Оно должно выглядеть примерно следующим образом:

Источник

Adblock
detector