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

Обновлено: 07.07.2024

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

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

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

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

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

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

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

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

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

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

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

  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.

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

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

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

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

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

Эта статья - быстрый онлайн-помощник для тех, кто переходит на новое
подписывание драйверов в Windows 10 (EV, WHDC-портал). Здесь я постараюсь
дать основные рекомендации, чтобы помочь избежать глупых ошибок и, не
теряя времени, скорее адаптировать свои проекты под новые требования.

Для того, чтобы начать подписывать драйверы по-новому, вам потребуется:

* EV-сертификат, приобретенный у Symantec, DigiCert, GlobalSign, WoSign
или Entrust. В тот момент, когда пишутся эти строки, поддерживаются только
сертификаты, приобретенные в перечисленных выше организациях. В будущем список,
вероятно, будет дополняться.

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

* Утилита signtool с поддержкой SHA256. Утилиту лучше взять из последних версий WDK
(8 и выше), так как старые версии не поддерживают SHA256 и некоторые другие возможности,
которые вам потребуются.

* Несколько часов свободного времени.

Первое, что вам нужно сделать - зарегистрировать свою компанию на портале WHDC.
Идем сюда:

жмем 'Dashboard' и логинимся в свой аккаунт Microsoft.

Далее вам будет предложено скачать файл winqual.exe, подписать его своим сертификатом и
загрузить обратно. Так портал определяет валидность сертификата, а также сможет сопоставить
цифровую подпись с вашей компанией, если это будет необходимо. Команда подписи для
signtool.exe затруднений вызывать не должна:

Для вашего сертификата опции могут быть немного другие. Обратите внимание на ключи /fd и /td -
они указывают, что и для цифровой подписи, и для timestamp-сервера следует использовать
SHA256, а не SHA1. EV-сертификаты используют только SHA2. Также обратите внимание,
что здесь и далее больше не будут использоваться никакие кросс-сертификаты (ключ /ac),
так как для 'attestation signing' (подписывание драйверов через веб-портал) это не требуется.

Точно такой же командой вы будете подписывать submission (архив с файлами для подписи).

Подписав и загрузив winqual.exe, вы попадете на страницу, где вам предложат указать
сведения о компании - название, юридический адрес, почтовый индекс, телефон, e-mail.
Судя по всему, эта информация не проверяется и нужна только "для галочки".
Но указывать откровенно "липовые" данные, разумеется, не стоит.

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

Сначала вам нужно создать cab-архив с файлами для подписи внутри.
Если пакет драйверов только один, cab-файл должен иметь такую структуру:

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

Я сразу советую проверять, валиден ли ваш INF-файл, используя утилиту inf2cat из WDK.
Например:

Для создания cab-архива можно использовать разные программы, но проще всего
задействовать штатную утилиту Windows под названием makecab:
В файле ddf описываются директивы для создания cab-архива.
Я использую примерно такой шаблон:

Файл cat, который сгенерировала утилита inf2cat.exe, в архив класть не нужно,
он все равно будет проигнорирован и портал при подписи создаст новый.

Важный момент: все пакеты драйверов в архиве должны быть под какую-то одну
архитектуру - или x64, или x86. На MSDN пишут, что Driver Package может
быть под обе архитектуры, но как правильно их упаковать в cab-архив - я
так и не понял. Попытки добавить еще один уровень в дереве папок внутри
архива (32/64, x86/x64, i386/amd64) успехом не увенчались.
Видимо, самый простой путь - делать две submission, одну чисто под x64,
вторую чисто под x86.

Когда cab-архив будет готов, вам нужно подписать его своим сертификатом.

Далее на веб-портале идем в раздел 'File signing services' и выбираем
пункт 'Create driver signing submission'. После этого все очень просто:
вы указываете название своей submission (произвольное, это нужно только
для информативных целей), является ли ваш драйвер универсальным (см. концепцию
'Universal Driver' в MSDN), а также платформы, под которые собран драйвер,
их в настоящий момент четыре:

Microsoft Windows 10 AU Client family, x86
Microsoft Windows 10 AU Client family, x64
Microsoft Windows 10 Client family, x86
Microsoft Windows 10 Client family, x64

C x64/x86 все понятно, а вот разницу между Client и AU Client я не нашел -
подпись в конечном итоге получается одинаковая.

После этого вы загружаете свой cab-архив и жмете 'Submit'. Все.

Обработка submission (процесс называется review) занимает некоторое время, у
меня было где-то около 15 минут, иногда может затянуться, как пишут, на
часы или даже сутки. Но обычно слишком долгий процесс обработки submission -
признак того, что что-то пошло не так и процесс будет завершен с ошибкой.

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

Кстати, можно запостить сразу несколько submission - они обрабатываются
параллельно и в некоторых случаях можно сэкономить немного времени.

В сведениях о цифровой подписи файлов, которые вам вернет портал, вы с удивлением
(а кто-то, возможно, и с радостью) обнаружите, что вместо 'OOO Vasya Pupkin' будет
вписано безликое и ужасное 'Microsoft Windows Hardware Compatibility Publisher'.

Теперь драйвер можно ставить и запускать на Windows 10 - 1607 и никакие
Secure Boot, Device Guard и т.п. не помеха.

Теперь вопросы чисто практического плана.

Q: Как быть с предыдущими версиями Windows (Vista, Windows 7, Windows 8, Windows 8.1)?

A: К сожалению, здесь без вариантов: либо вам придется купить еще один сертификат SHA1 и
использовать его, либо попробуйте пройти HLK-тесты через веб-портал и тогда получите
подпись, которую понимают все указанные выше версии Windows.

Прохождение HLK-тестов - достаточно большой и серьезный "квест", затрагивать эту
тему здесь я не буду.

Q: Как быть с Windows Server 2016 (vNext)? Его ведь нету в списке при отправке
submission на веб-портале.

A: Для Windows Server 2016 прохождение HLK-тестов для драйвера - единственный
легальный способ поддержки, другие типы цифровых подписей система принимать
не будет. Так что ждите через некоторое время очередную статью от меня про HLK.

Q: Как обстоят дела с двойными сигнатурами?

Однако в случае с cat-файлами это не сработает, потому что, как уже писалось выше,
портал генерирует свой cat-файл, игнорируя тот, что лежит внутри cab-архива.

Поэтому, если ваш драйвер ставится через INF-файл и вы хотите поддерживать
максимально возможный диапазон версий Windows, придется иметь несколько
пакетов драйвера, один для систем до Windows 10, второй для Windows 10 и выше.

Q: Что делать с модулями, которые собираются с ключом /INTEGRITYCHECK и,
согласно MSDN, должны подписываться с опцией /ph (generate page hashes)?
Например, драйвер, использующий Object Callbacks (ObRegisterCallbacks)?

A: Ничего не нужно. Система подписывания остается такой же, как и для
остальных драйверов Windows 10.

Q: EV-сертификат поставляется на USB-токене, это секьюрно, но неудобно.
У нас разработчики географически удалены друг от друга, а подписывать,
получается, может только один?

A: К сожалению, здесь действительно есть ряд неудобств.
Например, токен SafeNet не работает нормально в RDP-сессии и время
от времени начинает требовать ввод пароля (PIN).

Для решения этой проблемы можно настроить параметры, как написано здесь:

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

В настоящее время ведутся дебаты о том, чтобы оставить EV только для регистрации
на веб-портале, а для подписи submission использовать "обычные" сертификаты
(т.е. без USB-токенов и тому подобного):

date

16.10.2018

directory

Windows 10, Windows 7, Windows 8

comments

комментариев 55

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

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

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

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

Pnputil –a "C:\tools\drv1\xg20gr.inf"

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

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

Windows 7 ошибка при установе драйвера без цифровой подписи

В Windows 10 такое предупреждение даже не появляется, а в консоли появляется предупреждение, что в стороннем INF файле отсутствует информация о цифровой подписи.

Не удалось добавить пакет драйвера: INF стороннего производителя не содержит информации о подписи

При попытке установить драйвер из проводника Windows, если вы щелкните ПКМ по inf файлу драйвера и выберите Install / Установить появится ошибка:

Установить драйвер из inf файла

The third-party INF does not contain digital signature information.

INF стороннего производителя не содержит информации о подписи.

INF файл драйвера стороннего производителя не содержит информации о подписи

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

Утилиты, необходимые для подписывания драйвера

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

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

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

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

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

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

makecert -r -sv C:\DriverCert\myDrivers.pvk -n CN="Winitpro" C:\DriverCert\MyDrivers.cer

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

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

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

cert2spc C:\DriverCert\myDrivers.cer C:\DriverCert\myDrivers.spc

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

pvk2pfx -pvk C:\DriverCert\myDrivers.pvk -pi P@ss0wrd -spc C:\DriverCert\myDrivers.spc -pfx C:\DriverCert\myDrivers.pfx -po P@ss0wrd

$cert = New-SelfSignedCertificate -Subject "Winitpro” -Type CodeSigningCert -CertStoreLocation cert:\LocalMachine\My

Затем нужно экспортировать данный сертфикат в pfx файл с паролем:

$CertPassword = ConvertTo-SecureString -String “P@ss0wrd” -Force –AsPlainText
Export-PfxCertificate -Cert $cert -FilePath C:\DriverCert\myDrivers.pfx -Password $CertPassword

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

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

Генерируем CAT файл драйвера

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

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

На основе inf файла с помощью утилиты inf2cat.exe (входит в состав Windows Driver Kit -WDK) сгенерируем для нашей платформы cat файл (содержит информацию о всех файлах пакета драйвера).

inf2cat.exe /driver:"C:\DriverCert\xg" /os:7_X64 /verbose

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

Signability test complete .
и
Catalog generation complete .

Совет. В моем случае команда Inf2Cat.exe вернула ошибку:

Signability test failed.

22.9.7: DriverVer set to incorrect date (must be postdated to 4/21/2009 for newest OS) in \hdx861a.inf

DriverVer set to incorrect date (must be postdated to 4/21/2009 for newest OS)

Для исправления ошибки нужно в секции [Version] найти строку с DriverVer= и заменить ее на:

DriverVer=05/01/2009,9.9.9.9

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

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

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

cd "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x64"

Подпишем комплект файлов драйвера созданным нами сертификатом, в качестве сервиса таймстампа (штамп времени) воспользуемся ресурсом Globalsign. Следующая команда подпишет CAT файл цифровой подписью с помощью сертификата, хранящегося в PFX-файл, защищенном паролем.

signtool sign /f C:\DriverCert\myDrivers.pfx /p P@ss0wrd /t http://timestamp.globalsign.com/scripts/timstamp.dll /v "C:\DriverCert\xg\xg20gr.cat"

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

Если файл подписан успешно, должна появится надпись:

Successfully signed: C:\DriverCert\xg\xg20gr.cat
Number of files successfully Signed: 1

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

SignTool verify /v /pa c:\DriverCert\xg\xg20gr.cat

SignTool verify - проверить cat файл

Лидо в свойствах файла на вкладке Digital Signatures.

показать сертфикат cat файла

CAT файл содержит цифровые подписи (отпечатки / thumbprints) всех файлов, которые находятся в каталоге драйвера (файлов, которые указаны в INF файле в секции CopyFiles). Если любой из этих файлов был изменен, то контрольная сумма файлов не будет совпадать с данными в CAT файле, в результате установка такого драйвера закончится ошибкой.

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

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

certmgr.exe -add C:\DriverCert\myDrivers.cer -s -r localMachine ROOT
certmgr.exe -add C:\DriverCert\myDrivers.cer -s -r localMachine TRUSTEDPUBLISHER

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

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

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

Примечание. Проверить наличие созданного нами сертификата в доверенных можно, открыв оснастку управления сертификатами (certmgr.msc) и проверив наличие созданного нами сертификата (выдан для winitpro) в соответствующих хранилищах. Примечание. При проверке хранилища сертификатов с помощью утилиты Sigcheck этот сертификат будет отображаться как недоверенный, т.к. он отсутствует в списке со списком корневых сертификатов Microsoft (этот список нужно периодически обновлять).

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

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

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

Теперь в процессе установки драйвера, окна-предупреждения об отсутствующей цифровой подписи драйвера не появится.

Successfully installed the driver on a device on the system.
Driver package added successfully.

установка самоподписанного драйвера

В Windows 7 появляется такое предупреждение. о том, уверены ли вы, что хотите установить этот драйвер (в Windows 10 x64 1803 такое всплывающее окно не появляется). Нажав «Install», вы установите драйвер в системе.

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

setupapi.dev.log

Если установка драйвера прошла успешно, в файле setupapi.dev.log будут примерно такие строки:

Как вы видите, для установки самоподписанного драйвера нам даже не пришлось отключать проверку цифровой подписи драйверов с помощью bcdedit.exe, как описано здесь (команды bcdedit.exe /set loadoptions DISABLE_INTEGRITY_CHECKS и bcdedit.exe /set testsigning ON ).

Предыдущая статья Следующая статья

page

page

page

Несколько одновременных RDP сессий пользователей в Windows 10 и 11 Восстановление EFI загрузчика в Windows 10 RDS Shadow – теневое подключение к RDP сеансам пользователей в Windows Server 2016/2019 Загрузка Windows 7/10 с GPT диска на BIOS системе (без UEFI)

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

Попробовал. Получилось отлично. У драйвера показывает цифровую подпись. Установилось через devcon без всяких всплывающих окошек.

Через pnputil тоже нормально.

Спасибо за мануал. Успешно подписал TAP драйвер к OpenVPN. Ставится без проблем

Это боты-накрутчики успешно установили? Только что сделал всё по инструкции с точностью до символа: ошибка 52. Либо у людей винда 32-битная, либо TESTSIGNING включен. Либо боты-накрутчики.

кто встретился с проблемой установки SDK, удалите MS Visual C ++ 2010 года, как и 32 так и 64 битную версии

Руслан, расскажите, как получилось (если ещё в памяти свежо). У меня драйвер отлично установился по этим рекомендациям, но с AVR910 ошибка 43 (недопустимый дескриптор usb конфигурации. Windows10.

Здравствуйте.
Сделал всё по инструкции, в свойствах драйвера числится, что он подписан. Сертификаты установил в указанное инструкцией место.
Но при попытке установить драйвер, система отображает предупреждение о том, что не может проверить цифровую подпись данного драйвера. В итоге ошибка 52.

Ребята никто не поможет подписать драйвер для телефона FLY IQ436? Самому повторить вышеописанную процедуру слишком сложно! Помогите пожайлуста в СКАЙПЕ Я PatronDragon.

Дохожу до пункта На основе inf файла сгенерируем для нашей платформы cat файл (содержит информацию о всех файлах пакета драйвера). и не знаю какой файл у себя выбрать!? Какой не беру всё равно пишет does not exist! ЧТО ДЕЛАТЬ?

У меня в папке с моим драйвером нет файла inf! Что делать?

Без inf файла у вас ничего не получится, т.к. в именно в нем описывается порядок установки и структура исполняемых файлов драйвера. Посмотрите, возможно он у вас в каком-нибудь архиве лежит (rar, zip, cab)

Хм, зачем тогда авторы пишут такие статьи?

С помощью такой подписи от GoDaddy получится сделать .cat из .inf и .sys ?

Ты не мог бы мне помочь подписать драйвер ?
у тебя ещё год не прошёл вроде
очень нужно

Я написал свой WDF драйвер и подписал его с помощью этого мануала, за что огромное спасибо написавшему! Написал инсталлятор на wix и дрова прекрасно ставятся на x64 Винду 10.0 без включения тестмода и проверки подписей, даже предупреждение не отображается. С другой стороны 8000 это не деньги, конечно, для фирмы средней руки

Всё, похоже GoDaddy прикрыли лавочку продажи сертификатов подписи кода и драйверов. Вот что на сайте у них:

С 1 июня 2021 года GoDaddy больше не будет выдавать и продлевать сертификаты подписи кода и драйверов. Если у вас уже есть сертификат подписи кода или драйвера, вы не сможете повторно создать его ключ после 1 июня 2021 года. Все сертификаты, выданные до 1 июня 2021 года, будут действительны до истечения их срока действия

С помощью такой подписи от GoDaddy получится сделать .cat из .inf и .sys ?

В результате подписывания исходные .inf и .sys как-то модифицируются или никак не затрагиваются?
Их исходники не нужны для подписывания драйвера?

Если я куплю такого типа сертификат, то получится ли с его помощью заменить подпись в некоем драйвере на свою?
Например, есть подписанный драйвер ( состоит из .inf, .sys , .cat файлов ).
Получится ли убрать от него .cat и создать новый .cat ( командами inf2cat.exe и signtool.exe ), подписанный таким сертификатом?
Такой драйвер будет нормально работать?
Другими словами , работает ли такое, что можно убрать одну цифровую подпись и вместо неё поставить другую?

Сергей, Вы получили сертификат с алгоритмом хеширования подписи SHA1, SHA2 или с SHA256?
Надо ли на винду ставить какие-то апдейты или пэтчи, чтобы подписанные драйверы не выдавали ошибку 52?

SHA1 и SHA2. Подписал с использованием SHA2, чтобы и Win10 охватить. По идее, Win7 должна понимать SHA2 только после патча, в реальности же на Win7 x64 драйвер встаёт (что без подписи невозможно), но Винда говорит, что подписи нет 🙂

Сергей, я могу обратить к Вам за помощью. Вы бы не смогли подписать всего один драйвер. Я бы Вам мог их скинуть на почту. Если сможете помочь прошу отзовитесь. Был бы Вам очень признателен!

А на 32 битной Windows 7 можно как-то подписать драйвер?

Сам отвечу, можно, на процессе создание cat файла нужно записать не x64, a x86. Спасибо, инструкция рабочая

Я так и сделал, правда сначала получил какую-то ошибку, исправил, и второй раз все получилось.

Спасибо за отзыв! Поправил путь

Сделал все как описано. Подписал драйвер старого оборудования для сетевой карты. Все работает на сервер 2012 r2 без тестового режима.

Отличная статья, получилось сделать на Windows server 2012.
Проблемы возникли такие:
22.9.4: Missing 32-bit CatalogFile entry (CatalogFile.ntx86, CatalogFile.nt, CatalogFile) from [Version] section in \skeyusb.inf

но все решил добавлением в файл inf строчки CatalogFile(или разкоментированием).
даже установка сертификата на сервер не нужна была. Спасибо огромное. Как вы это придумываете))

Решил разобраться в технологии сертификации. Второй день читаю горы материала в интернете и нигде нет простого и четкого объяснения, как Windows работает с цифровыми подписями и сертификатами. Что с чем сравнивается и когда? Везде куски специальной информации или бесконечные переписывания одних и тех же вещей. Ощущение, что никто до конца не понимает этой темы.

потому что это секрет Майков

Done Adding Additional Store
SignTool Error: The specified timestamp server either could not be reached or
returned an invalid response.
SignTool Error: An error occurred while attempting to sign: C:\DriverCert\xg\gn246hl.cat

может кто встречался с такой проблемой?
пишет что сервер временной метки дает неправильный ответ

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

Для чего это нужно

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

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

Если исполняемый файл не имеет приемлемой подписи, допускается отключить проверку подписки в настройках компьютера. После деактивации вы сможете установить новую версию Вин 10 и загрузить любое приложение или определенный драйвер из Интернета. Разрешается связаться с производителем программного обеспечения и запросить подписанный исполняемый файл.

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

Отключение проверки подписи драйвера на один раз

Встроенная система безопасности Windows не позволяет установить исполняемый файл без специальной отметки о разрешении. Однако вы можете попробовать отключить функцию безопасности.

Как установить исполняемый файл на компьютер без отметки об одобрении:

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

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

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

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

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

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

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

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

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

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

Как отключить проверку навсегда

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

С помощью параметров загрузки

Как запускать неподписанные исполняемые файлы на компьютере:

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

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

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

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

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

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

  • Сразу после перезагрузки ноутбука деактивированная функция загрузит Win10.

Через Командную строчку

Первый способ деактивации

  • Загрузите операционную систему в безопасном режиме;
  • Активируйте командную строку с привилегиями администратора;

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

  • Для отключения функции введите: bcdedit.exe /set NOINTEGRITYCHECKS ON;

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

  • После завершения этого процесса перезагрузите ноутбук в обычном режиме.
  • Активируйте командную строку с правами администратора;

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

  • Чтобы отказаться от подписки, введите: bcdedit.exe -set loadoptions DISABLE_INTEGRITY_CHECKS;

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

  • Чтобы включить режим тестирования, введите: bcdedit.exe -set TESTSIGNING ON.

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

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

Редактор групповой политики

Как отключить эту функцию самостоятельно:

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

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

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

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

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

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

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

Как подделать электронную подпись с помощью Driver Signature Enforcement Overrider:

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

  • Предварительно отключите UAC (вызовите Run и введите: UserAccountControlSettings);
  • Запустите загруженный инструмент;
  • принять условия лицензии;
  • включить режим тестирования;

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

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

Как обратно активировать цифровую подпись драйверов

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

Как повторно включить проверку из командной строки:

  • Чтобы активировать системную утилиту с правами администратора;

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

  • Чтобы отменить активный режим тестирования, введите: bcdedit.exe /set TESTSIGNING off;

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

  • При запуске функции проверки введите: bcdedit.exe /set loadoptions ENABLE_INTEGRITY_CHECKS;

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

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

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

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

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

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

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

Читайте также: