Отключение цифровой подписи драйверов windows 7 64. Устанавливаем драйвера без цифровой подписи

Все 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 Vista Майкрософт ввел дополнительный уровень защиты для своих 64-битных систем — Device Driver Signature Enforcement. Это означает, что вы можете установить и использовать только те драйверы, которые прошли сертификацию в Майкрософт. Помимо повышения уровня безопасности, это, конечно, привело к тому, что достаточно большое количество устройств, работающих в 32-битной Семерке, не работают в 64-битной (сертификация драйверов процедура не бесплатная). Эта статья о том, каким образом можно попытаться обойти это ограничение.


0. Перед тем как начать, скачайте утилиту DSEO (Driver Signature Enforcement Overrider) c сайта разработчика — http://www.ngohq.com/home.php?page=dseo (установка не требуется).

1. Входим в Windows под «администратором» (я использовал главную запись Администратора с RID-500, в версии Professional её включить не сложно, впрочем не в этом дело — обычного «администратора» вполне достаточно).

2. и перезагружаемся.

3. После перезагрузки открываем командную строку. Самый простой способ её запустить: Пуск — <вводим в графе поиска cmd > — <после того как поиск найдёт cmd> — щёлкаем по ярлыку cmd. Альтернативный вариант: Пуск ->Все программы -> Стандартные -> Командная строка.

4. В окне командной строки выполняем следующую команду:

bcdedit /set loadoptions DDISABLE_INTEGRITY_CHECKS , где DDISABLE — это не опечатка!

5. Запускаем утилиту DSEO. Запускать её можно из любой директории, любого диска:)

После запуска как обычно «принимаем лицензионное соглашение» — yes, а затем выбираем опцию «Enable Test Mode» (включить тестовый режим) и жмем «Next»:

Программа предупредит о том, что загружать «самоподписанные» драйверы можно только в «Test Mode», но чтобы он вступил в силу необходимо перезагрузиться снова:

Чтобы выйти из программы необходимо выбрать опцию «Exit» (выход) и нажать «Next».

Перезагружаемся.

6. После перезагрузки опять запускаем DSEO и выбираем опцию «Sign a System File» (подписать системный файл) и «Next»:

7. Программа попросит указать путь к подписываемому драйверу. Для этого скопируйте файлы «проблемного» драйвера с установочного CD или извлеките их из архива (если скачивали из Интернета) куда-нибудь на жёсткий диск — главное запомните и/или скопируйте точный адрес местонахождения драйверов из адресной строки «проводника», не забыв указать имя самого драйвера (драйвер — это файл с расширением.sys) так как они могут находится не только в той директории, куда вы копировали/извлекали, но и в её поддиректориях!!! После указания местонахождения драйвера нажмите OK. Проделайте эту операцию для всех драйверов — изменяться в адресе будет лишь имя файла, ну или субдиректория с именем:

P.S. Если устройство уже установлено, но не работает без заблокированного драйвера, то тогда драйвер нужно искать скорее всего в C:\Windows\system32\drivers, посмотрите в «Диспетчере Устройств» (Пуск — Панель Управления — Администрирование — Управление Компьютером) напротив какого устройства стоит вопросительный знак — то и будет устройство без драйвера. Дважды щёлкните по имени этого устройства и свойствах выберите «Драйвер» — «Сведения», где вы и увидите адрес(а) драйвера(ов).

Вообще-то я не рекомендую так делать, так как при попытке установки драйвера без подписи Windows его не просто не загружает в ОЗУ-память на выполнение, да плюс ещё и вытирает ссылку на него из ветки «HKLM\SYSTEM\CurrentControlSet\services\» реестра как службу!!! Нормальная работа такого устройства без конфигурации службы (типа запуска и настроек) вряд-ли возможна (вообще-то просто нет:(!!!), поэтому лучше удалить это устройство полностью любыми методами, а затем подписав драйверы, установить заново!!!

8. После подписи всех драйверов, вы можете проверить правильность выполнения операции: выберите подписанный драйвер, откройте его контекстное меню, выберите «Свойства», а затем — «Цифровые подписи». Если вы всё сделали правильно, то должны увидеть примерно следующее:

9. Теперь драйвер можно устанавливать. Как правило, щёлкаем на «Setup.exe» и поехало…………..

Если Винда «ругнётся» (а она явно не упустит такого момента) и выдаст такое диалоговое окно как это:

— то не боимся и на глупые вопросы отвечаем соответствующим образом!

10. После завершения процесса установки, можно (и нужно) убедится в правильности установки драйвера — для этого смотрим журнал Винды «Система» в «Управлении компьютером», если в нём в «минуты установочного времени» только «Сведения» — то всё в порядке (правда не всегда — там могут быть и «плачевные» сведения), но как правило «неудача» отображается в виде «Предупреждение» или «Ошибка» — тогда всё плохо:

Если больше не будете использовать утилиту DSEO, тогда включите «Контроль учётных записей» для безопасности системы, если задумали ещё что-нибудь «подписать», то лучше это сделать сразу, так как при включённом «Контроле учётных записей» DSEO не запустится!!!

Замечания:

1. Чтобы наши «собственноподписанные» драйверы не блокировались Виндой, нельзя отключать тестовый режим (никогда!!!), о котором свидетельствует «не весьма приятная» информация о версии сборки ОС в правом нижнем углу Рабочего стола от которой, правда, можно избавиться — в DSEO есть такая опция — «Remove Watermarks».

2. Не все драйвера «приготовленные по такому рецепту» можно ставить без проблем, например ASUS’овские драйверы оказались «самими стойкими» в «неподчинении» установке — по крайней мере на моей машине, которая сама есть ASUS.

Как я понял, это скорее всего не из-за подписей, а из-за особенности их низкоуровневой работы — так как я получал ошибки не по поводу подписей, а просто — «окно с красным крестом» (и одной кнопкой — OK) — невозможно ставить и всё ! Хотя раньше, когда я работал под XP всё было как надо — ни одного «BSOD’а» из-за них я не видел, а вот Майкрософтские иногда «шалили». Это к вопросу о правильности…. но Майкрософту — лучше знать:) :) :)

3. При всё время включенном «Тестовом режиме» и особенно при работе в Сети есть определённый риск установить на свою машину такие же «приготовленные» кем-то таким же образом драйверы, причём драйверы режима ядра — а это уже не смешно!!!

Так что ни в коем случае не выходить в Сеть под «Администратором», ведь самый лучший антивирус — голова на плечах, с соображающем мозгом, естественно!

Доброго времени суток, уважаемые читатели с вами Тришкин Денис!

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

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

Можно ли устанавливать драйвер без подписи? ( )

Практически невозможно определить, что после публикации, файл без соответствующей метки не был изменен. Желательно не допускать открытия подобного ПО на своем компьютере, если вы на 100% не уверены в достоверности источника и полной безопасности. Проблема в том, что обычно под такими документами скрываются вирусы.

Что делать во время установки? ( )

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

Проблема состоит в том, что в Интернете нет достоверных источников, которые могут подтвердить надежность пользователя, опубликовавшего программу. Фактически любой может открыть содержимое пакета и изменить его. Первая версия действительно могла прийти от компании-производителя. Но если метки нет – кто-то вероятней всего ее поменял.
Устанавливать подобные программы рекомендую только в случае, когда вы ее получили с лицензионного диска.

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

Важно! Политика проверки электронных меток в Windows 7 работает во всех версиях: x86 и x64. Основной причиной введения этого правила – повышение безопасности и стабильности работы системы.

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

При этом способов отключения проверки электронной метки существует несколько:

( )

Этот метод позволяет временно отключить нужную нам функцию. Для этого необходимо во время загрузки нажать кнопку F8 . После появится черный экран с вариантами загрузки ОС. Нужно выбрать «отключение обязательной проверки подписи драйвера ».

Затем запускаем Windows и устанавливаем нужное ПО. Тут же можно протестировать его работу.

Если загрузить систему в рабочем режиме – новое устройство работать не будет.

Отключение через групповую политику ( )

Чтобы проверка электронных меток вообще не осуществлялась, ее можно отключить через групповую политику. Для этого необходимо открыть программу «», а затем набрать gpedit.msc .

В появившемся окне нужно перейти:


Теперь можно устанавливать любые драйвера.

Отключение через bcdedit ( )

Для написания кода открываем командную строку от имени администратора. В окне набираем следующее:

bcdedit.exe /set loadoptions DDISABLE_INTEGRITY_CHECKS

bcdedit.exe /set TESTSIGNING ON

Нажимаем Enter.

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

Чтобы обратно включить эту функцию, после тега «TESTSIGNING » пишем «OFF ».

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

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

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

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

Способ 1

Выполняем soft-reset (перезагрузку) ПК или лэптопа и начинаем нажимать периодически кнопку F8. Это требуется для вызова спец-меню, которое откроет нам необходимые настройки. Теперь находите пункт «Отключение обязательной проверки подписи …».
На разных версиях Windows название может быть разным, но нахождение функции располагается всегда снизу. Поэтому можете просто выбрать нижний пункт и активировать его вводом Enter. Данный метод способен отключить проверку, но только до последующей перезагрузки системы, поэтому данный способ можно рассматривать как временное устранение цифровой подписи.

Способ 2

Вторая возможность устранить проведение цифровой подписи драйверов – это групповая политика. Активации функции производится через ввод выражения «gpedit.msc» которую требуется внести в поиск стартового меню Windows. Нажимаем кнопку «Пуск» и вводим в поле поиска
«gpedit.msc».

Когда вы удачно произвели запуск групповой политики, слева нужно открыть вкладку «Конфигурация пользователя», затем перейти по ссылке «Шаблоны администрации»,
найти параметр «Система» — инсталляция драйверов. Если в левом меню будет выбрана закладка «Установка драйверов» то справа можно заметить настройку отключения их подписи, которую нужно активировать двойным нажатием.
Перед закрытием окна настроек обязательно сохраняем изменения и выходим из утилиты. Данный метод хорош, но, увы, функционирует не у всех.

Способ 3

Третьим инструментом выключения подписи драйверов становится стандартная строка ввода команд. Запустить ее можно посредством поиска, внеся(можно скопировать и вставить) в строку комбинацию «cmd». Необходимо внести такие значения: bcdedit -set loadoptions DDISABLED_INTEGRITY_CHECKS, что приведет к принудительному отключению встроенной подписи драйверов. Затем, после введения вручную такой комбинации(можно копировать и вставить), подтверждаем нажатием на Enter, и вносим следующий параметр: bcdedit -set TESTSIGNING ON.
Вследствие активации таких команд, система даст разрешение на инсталляцию любого драйвера. Возвращение прежних настроек выполняется посредством внесения в командной строке: . Это первая команда, что отменяет действие соответствующей конфигурации, а затем вносится установка bsdedit -set loadoption TESTSIGNING OFF, что позволяет вернуть прежнюю подпись. Их нужно вносить отдельно.