Установка неподписанных драйверов xp через реестр. Цифровая подпись драйверов

Давно я уже писал статью на эту тему. Там была проблема с установкой драйверов от стороннего производителя, которые не содержат информации о подписи. Я проанализировал и описал очень простой метод, связанный с перезапуском ПК в режиме диагностики и отключения там проверки цифровой подписи. Вот этот материал — Как отключить проверку цифровой подписи драйверов Windows? Теперь перейдем к конкретной теме — .

Установка неподписанных драйверов в Windows 10

Все драйвера, проходящие особое тестирование, именуемое Windows Hardware Quality Level, обладают сертификатом с цифровой подписью. А вот неподписанные использовать не рекомендуется, потому что в них могли внедрить вирусы или еще что-то. Как показывает практика данное ограничение обойти можно, чем мы сегодня и займемся.

Вариант 1 – Использование командной строки

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

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

Теперь пропишем следующие указания для CMD:

bcdedit.exe -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit.exe -set TESTSIGNING ON

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

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

bcdedit.exe -set TESTSIGNING OFF

И снова перезапустить компьютер.

Вариант 2 – Использование Редактора групповой политики

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

Запускаем окошко «Выполнить» с помощью нажатия кнопок Win+R, а потом впишем указание для него — gpedit.msc . Открывается утилита локальных групповых политик. В столбце слева открываем раздел «Конфигурация пользователя», идём в подраздел «Административные шаблоны», теперь идём в пункт «Система», щелкаем по варианту «Установка драйверов» и наконец – «Цифровая подпись драйверов устройств».


Нажимаем в правой части окошка по пункту два раза мышью и ставим чекбокс «Отключено». Или отметьте опцию «Пропустить», где фраза «Если Windows обнаруживает файл драйверов без подписи».



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

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

  • Заходим в безопасный режим и пробуем поставить то, что хотим оттуда;
  • Введём в командной строке — bcdedit.exe /set nointegritychecks on ;
  • Перезагрузим ПК.

Для активации проверки цифровой подписи, в верхней команде on замените на off .

Ну вот и всё. Не забудьте посмотреть указанную выше ссылку на мою статью, где рассказывается еще один способ. Я не стал его здесь писать так как зачем по сто раз переписывать одно и тоже. Надеюсь данная инструкция вам поможет!

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Windows SDK (или Microsoft Visual Studio 2005 или выше) для вашей версии Windows – в состав этих пакетов входит Windows SDK Signing tools for Desktop, в которую включена необходимая нам утилита — signtool.exe;
  • Windows Driver Kit 7.1.0 - ISO образа GRMWDK_EN_7600_1.ISO размером 649 Мб

Совет . В Windows 10 можно использовать более новые версии Windows SDK и Windows Driver Kit. Перед установкой этих инструментов, убедитесь, что в системе установлен.NET Framework 4.

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

Создадим в корне диска каталог 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 @ ss 0 wrd .

На основе созданного сертификата создадим публичный ключ для сертификата издателя ПО (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

Совет . Вы можете создать самоподписанный сертификат типа Code Signing без использования сторонних средств с помощью командлета PowerShell 5.0 — .

$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

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

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

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

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

cd C:\WinDDK\7600.16385.1\bin\selfsign

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

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

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

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= и заменить ее на:

После выполнения команды в каталоге драйвера должен обновиться файл 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"

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

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

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

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) в соответствующих хранилищах.

Примечание . При проверке хранилища сертификатов с помощью утилиты этот сертификат будет отображаться как недоверенный, т.к. он отсутствует в списке со списком корневых сертификатов 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 », вы установите драйвер в системе.

Если по каким-то причинам драйвер не устанавливается, подробный лог установки драйвера содержится в файле C :\Windows \inf \setupapi .dev .log . Этот лог позволит вам получить более подробную информацию об ошибке установки. В большинстве случаем возникает ошибка «Driver package failed signature validation» — скорее всего это означает, что сертификат драйвера не добавлен в доверенные сертификаты.

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

>>> >>> Section start 2018/07/22 23:32:57.015 cmd: Pnputil -i -a c:\DriverCert\xg\xg20gr.inf ndv: Flags: 0x00000000 ndv: INF path: C:\WINDOWS\System32\DriverStore\FileRepository\xg20gr.inf_amd64_c5955181485ee80a\xg20gr.inf inf: {SetupCopyOEMInf: C:\WINDOWS\System32\DriverStore\FileRepository\xg20gr.inf_amd64_c5955181485ee80a\xg20gr.inf} 23:32:57.046 inf: Copy style: 0x00000000 inf: Driver Store Path: C:\WINDOWS\System32\DriverStore\FileRepository\xg20gr.inf_amd64_c5955181485ee80a\xg20gr.inf inf: Published Inf Path: C:\WINDOWS\INF\oem23.inf inf: {SetupCopyOEMInf exit (0x00000000)} 23:32:57.077 <<< Section end 2018/07/22 23:32:57.155 <<<

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

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

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

При этом компьютер уйдет на перезагрузку, и вы попадете в меню выбор действия. Жмем Диагностика —> ;

> ;

Еще раз перезапускаем компьютер нажатием кнопки .

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

Для загрузки Windows с этим параметром нажмите клавишу 7 или F7 . Теперь если вы попробуете запустить установку левого драйвера, ОС также выведет сообщение, но на этот раз это будет простое предупреждение системы безопасности. Просто выберите и упрямый драйвер станет в обычном режиме, по крайней мере, так должно быть, ну а вам лишь останется еще раз перезагрузиться и проверить его работоспособность.

При этом, однако, нельзя исключать, что установить не сертифицированный драйвер таким способом не получится. В таком случае можно попробовать еще один метод. В Windows 8 присутствует особый «тестовый режим работы» . Работая в этом режиме, вы можете устанавливать практически любое программное обеспечение, в том числе не имеющие сертификата Microsoft драйвера. Активировать его можно следующим образом. Откройте командную строку от имени администратора и одну за другой выполните вот эти две команды (для 64-разрядной системы):

bcdedit.exe /set nointegritychecks ON
bcdedit.exe /set testsigning ON

Каждая выполненная команда должна сопровождаться сообщением «Операция успешно завершена» . Теперь закройте консоль, и перезагрузить компьютер. Если всё сделано правильно, в нижнем правом углу на часами вас должна появиться надпись «Тестовый режим» . Теперь можете попробовать инсталлировать неподписанный драйвер еще раз. После установки и проверки драйвера не забудьте выйти из тестового режима. Для этого необходимо выполнить те же команды, но только флаг ON (включено ) заменить на OFF (выключено ) .

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

Теги: ,

Windows 8.1 блокируют установку драйверов без действительной цифровой подписи (или измененных после ее нанесения). Это делается в целях безопасности, так как установка не подписанных драйверов или подделаны (возможно, с помощью вируса), может привести к непредсказуемым последствиям, вплоть до переустановки системы.

Что такое подписанный драйвер?

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

Устанавливать драйвера без цифровой подписи или с ней?

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

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

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

1. Перемещаем курсор в нижний правый угол экрана выбираем пункт "Параметры" или нажимаем клавиши Win + I . Нажимаем клавишу shift ,и держа нажатой, выбираем .

2. После перезагрузки в выпавшем меню выбираем "Диагностика "

3. В окне "Диагностика " выбираем ""

4. В окне "" выбираем ""

5. В окне "" жмем ""

6. Теперь самое главное. В окне "" надо выбрать нужную клавишу, в нашем случае это F7 или цифра 7

Заключение

При очередной перезагрузки системы автоматически активируется системы блокировки не подписанных драйверов. Установленные ранее неподписанные драйвера продолжат работать.

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

Если операционная система Windows 10 обнаруживает неподписанный драйвер устройства, она блокирует его установку.

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

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

Зайдите в панель управления компьютера по пути "Пуск > Параметры > Обновление и безопасность > Восстановление" и в разделе "Особые варианты загрузки" нажмите кнопку "Перезагрузить сейчас".

Компьютер перезагрузится и появится синий экран особых вариантов загрузки системы Windows 10 с названием "Выбор действия". Выберите пункт "Поиск и устранение неисправностей".

На следующем экране "Диагностика" выберите пункт "Дополнительные параметры".

На экране "Дополнительные параметры" выберите пункт "Параметры загрузки".

На экране "Параметры загрузки" нажмите на кнопку "Перезагрузить".

Компьютер еще раз перезагрузится и появится заставка "Параметры загрузки". Нажмите на клавишу "F7" или "7", чтобы загрузить Windows 10 с отключенной функцией обязательной проверки подписи драйверов.

В этом режиме работы Windows 10 можно устанавливать неподписанные драйвера и использовать устройство или программное обеспечение, но только до перезагрузки системы .

Во время установки неподписанных драйверов должно всплыть предупреждение в котором нужно нажать на нижний пункт "Все равно установить этот драйвер".

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

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

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

Чтобы снова иметь возможность использовать устройство или программу с неподписанными драйверами, перезагрузите Windows 10 в режим отключенной обязательной проверки подписи драйверов, как описано выше.