Как подписать драйвер Windows 7 x64 программа

Многие пользователи уже встречались с неподписанными драйверами. Хочешь установить необходимый драйвер для какой-то программы, а Windows 7 показывает здоровенную фигу – мол, иди гуляй, парнишка, у драйвера нет цифровой подписи. Как решить такую проблему?

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

Но сначала узнаем, как можно отключить проверку цифровой подписи у драйверов.

Отключение проверки цифровых подписей у драйверов в Windows 7

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

Для отключения следует открыть загрузочное меню Windows 7, для чего используется клавиша . Включим компьютер, подождем пока промелькнет текст BIOS и начинаем часто нажимать клавишу . Жмем-жмем и появится либо меню выбора операционной системы (если их несколько), либо загрузочное меню.

РЕШЕНИЕ: требуется драйвер с цифровой подписью

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

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

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

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

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

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

Как вручную подписать драйвер в Windows 7

Сделать такое злодейство, как подпись драйвера, нам поможет программа DSEO (Driver Signature Enforcement Overrider). С помощью данной программы можно создавать собственные подписи драйверов. Учтите – чтобы программа работала, обязательно нужно отключить UAC, иначе фокуса не получится.

Сама программа простая как веник, и работать с ней чрезвычайно просто.

Driver Signature Enforcement Overrider

  1. Запустите программу, щелкните на кнопке Next, затем еще раз на кнопке Next.
  2. Выберите переключатель Enable Test Mode (тестовый режим), щелкните Next.
  3. Выберите переключатель Sign a System File (подписать системный файл) и щелкните на кнопке Next.
  4. Укажите путь к файлу драйвера (вроде C:WindowsSystem32Driverslkindrv.sys), затем снова щелкните на кнопке Next.
  5. Таким же макаром подписывается необходимое количество драйверов. Осталось перезагрузиться и спокойно себе устанавливайте нужный драйвер.

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

как включить проверку подписи драйверов windows 7

А как из него выйти? Запустить DSEO, выбрать переключатель Disable Test Mode и снова перезагрузиться.

Метод весьма действенный, причем он не изменяет системный загрузчик либо системные файлы Windows. Однако, есть и альтернативы, которые изменяют загрузчик для автоматического выбора пункта меню Отключение обязательной проверки подписи драйверов. Речь идет о программе ReadyDriverPlus и подробнее о ней в следующем разделе.

Программа ReadyDriverPlus

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

При установке программы достаточно указать, где находится папка Boot с загрузочными файлами Windows (в большинстве случаев C:Boot), после чего перезагрузиться. Папка Boot является скрытой и находится на диске C:, либо в скрытом дисковом разделе.

Теперь при загрузке Windows на несколько секунд появится вариант загрузки – с проверкой подписи или без проверки. Если не выбрать вариант обычной загрузки, то Windows будет загружена в нужном нам режиме.

У некоторых пользователей есть сложности с нахождением папки Boot – действительно, она умеет прятаться (и не зря, слишком важные в ней файлы). Поскольку папка понадобится для работы программы, найти ее можно благодаря советам, представленным в статье “Скрытая папка Boot с загрузочными файлами Windows 7“.

Источник: windata.ru

Цифровая подпись драйвера в Windows

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

Читайте также:
Программа не открывается exe Windows 7

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

bcdedit /set loadoptions DDISABLE_INTEGRITY_CHECKS

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

Самый доступный и очевидный — это ручной метод, предусматривающий нажатие клавиши «F8» на начальном этапе загрузки операционной системы. В появляющемся меню загрузчика присутствует пункт «Отключение обязательной проверки подписи драйверов». Конечно же, чтобы работать с неподписанными драйверами устройств в таком режиме, требуется каждый раз во время загрузки выполнять данное действие, что, согласитесь, в конечном итоге может сильно надоесть. Именно по этой причине данный метод был усовершенствован.

Как-то я уже рассказывали про программу ReadyDriver Plus, которая способна автоматизировать ручной способ. Она интегрируется в стандартный загрузчик Windows Vista, после чего во время каждой загрузки автоматически выбирает пункт меню «Отключение обязательной проверки подписи драйверов». К сожалению, применение данной программы нельзя назвать полностью безопасным, ведь одна производит модификацию системных файлов. К тому же, как выяснилось, программа не работает в новой операционной системе Windows 7, хотя возможно, что её автор в будущем выпустит совместимую версию.

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

Он позволяет разработчикам протестировать их программный код еще до того, как он будет отправлен в лабораторию Microsoft. Правда, здесь тоже есть один нюанс. Даже в тестовом режиме системные файлы драйверов должны получить свидетельство, прежде чем их можно будет установить. Благо, на помощь пришли энтузиасты со своей программой Driver Signature Enforcement Overrider (DSEO). Она позволяет создавать свои собственные непроверенные свидетельства.

Таким образом, суть метода относительно проста. Требуется лишь включить тестовый режим в операционной системе и для всех драйверов устройств, не имеющих цифровой подписи, при помощи программы Driver Signature Enforcement Overrider получить свидетельства. Радует то, что при этом полностью отсутствуют риски привести операционную систему к нерабочему состоянию.

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

Программа Driver Signature Enforcement Overrider работает как с 32-битными, так и с 64-битными операционными системами. Перед использованием необходимо обязательно отключить контроль учетных записей пользователей (UAC). Инсталляция программы не требуется, просто скачайте её и запустите. Интерфейс предельно прост, и вся работа осуществляется в виде мастера.

Порядок действий

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

Над чем действительно стоит задуматься, так это над тем, а стоит ли вообще использовать драйверы устройств, не имеющие цифровой подписи. Насколько они будут корректно работать? Доверяете ли вы их разработчику и источнику?

Driver Signature Enforcement Overrider

Включите тестовый режим, установив переключатель в положение «Enable Test Mode». Кстати, обратите внимание, что здесь же предусмотрено обратное действие «Disable Test Mode», отключающее тестовый режим.

Опции программы Driver Signature Enforcement Overrider

Теперь нужно добавить подписи для непроверенных системных файлов. Для этого выберите «Sign a System File» и введите имя файла, включая полный путь. Например, если файл драйвера ATITool64.sys расположен в каталоге C:WindowsSystem32Drivers , то вам необходимо указать C:WindowsSystem32DriversATITool64.sys .

Выбор файла для подписи

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

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

Источник: d1mon.com

Как подписать драйвер Windows с помощью самоподписанного сертификата?

date

15.02.2022

user

itpro

directory

Windows 10, Windows 11, Windows 7, Windows Server 2019

comments

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

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

Читайте также:
Сделать загрузочную флешку Windows 7 программа ultraiso

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

Сегодня мы покажем, как можно самостоятельно подписать любой неподписанный драйвер для x64 битной версии Windows (инструкция применима для Windows 11, 10, 8.1 и 7).

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

Pnputil –a «C:toolsdrv1xg20gr.inf»

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

При установке драйвера в Windows 7 появляется предупреждение о том, что ОС не может проверить цифровую подпись драйвера.

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

В Windows 10 (21H1) появляется предупреждение:

Не удалось добавить пакет драйвера: INF стороннего производителя не содержит информации о подписи.
Adding the driver package failed : The third-party INF does not contain digital signature information.

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

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

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

The third-party INF does not contain digital signature information.
INF стороннего производителя не содержит информации о подписи.

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

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

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

установка windows wdk signing tool

  • WindowsSDK (или Microsoft Visual Studio 2005 или выше) для вашей версии Windows. В состав этих пакетов входит WindowsSDKSigningtoolsforDesktop, в которую включена необходимая нам утилита — signtool.exe ;
  • Windows Driver Kit (WDK) — https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk

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

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

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

Для создания самоподписанного сертификата типа Code Signing можно использовать PowerShell командлет New-SelfSifgnedCertificate. В этом примере мы создадим самоподписанный сертификат со сроком действия 3 года.

$todaydate = Get-Date
$add3year = $todaydate.AddYears(3)
$cert = New-SelfSignedCertificate -Subject «Winitpro” -Type CodeSigningCert -CertStoreLocation cert:LocalMachineMy -notafter $add3year

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

$CertPassword = ConvertTo-SecureString -String “[email protected]” -Force –AsPlainText
Export-PfxCertificate -Cert $cert -FilePath C:DriverCertmyDrivers.pfx -Password $CertPassword

powershell создать сертфикат типа code signing для подписи драйвера

Теперь нужно добавить сертификат в доверенные корневые сертификаты и в сертификаты доверенных издателей:

$certFile = Export-Certificate -Cert $cert -FilePath C:DriverCertdrivecert.cer
Import-Certificate -CertStoreLocation Cert:LocalMachineAuthRoot -FilePath $certFile.FullName
Import-Certificate -CertStoreLocation Cert:LocalMachineTrustedPublisher -FilePath $certFile.FullName

В предыдущих версиях Windows для создания сапомодписанных сертификатов нужно использовать утилиту makecert.exe из Windows Software Development Kit (SDK). В этом случае команды для создания сертификата будут выглядеть так:

cd “C:Program Files (x86)Microsoft SDKsWindowsv7.1bin”
makecert -r -sv C:DriverCertmyDrivers.pvk -n CN=»Winitpro» C:DriverCertMyDrivers.cer

Укажите пароль для ключа (например, [email protected] ).

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

cert2spc C:DriverCertmyDrivers.cer C:DriverCertmyDrivers.spc

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

pvk2pfx -pvk C:DriverCertmyDrivers.pvk -pi [email protected] -spc C:DriverCertmyDrivers.spc -pfx C:DriverCertmyDrivers.pfx -po [email protected]

Добавьте сертификат в доверенные:

certmgr.exe -add C:DriverCertmyDrivers.cer -s -r localMachine ROOT
certmgr.exe -add C:DriverCertmyDrivers.cer -s -r localMachine TRUSTEDPUBLISHER

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

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

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

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

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

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

md C:DriverCertxg
xcopy c:toolsdrv1 C:DriverCertxg /i /c /k /e /r /y

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

cd “C:Program Files (x86)Windows Kits10bin10.0.22000.0×86”

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

inf2cat.exe /driver:»C:DriverCertxg» /os:7_X64 /verbose

Читайте также:
Программа диспетчер задач в Windows 10 это

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

Чтобы убедитесь, что процедура прошла корректно, проверьте, что в каталоге появился файл C:DriverCertxgxg20gr.cat, и в логе есть сообщения:

Signability test complete.
Catalog generation complete.
Совет. В моем случае команда Inf2Cat.exe вернула ошибку:
Signability test failed.

Errors: 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

DriverVer=05/01/2009,9.9.9.9

Если у вас появится ошибка Missing AMD64 CatalogFile entry (для 64-бит) или Missing 32-bit CatalogFile entry . Нужно в секцию [Version] .inf файла добавить строку CatalogFile=xg20gr.cat .

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

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

cd «C:Program Files (x86)Windows Kits10bin10.0.22000.0×64»

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

signtool sign /f C:DriverCertmyDrivers.pfx /p [email protected] /t http://timestamp.globalsign.com/scripts/timstamp.dll /v «C:DriverCertxgxg20gr.cat»

В современных версиях Windows 10 и Windows 11 при выполнении этой команды появится ошибка:

SignTool Error: No file digest algorithm specified. Please specify the digest algorithm with the /fd flag. Using /fd SHA256 is recommended and more secure than SHA1. Calling signtool with /fd sha1 is equivalent to the previous behavior. In order to select the hash algorithm used in the signing certificate’s signature, use the /fd certHash option.

Нужно использовать другую команду:

signtool sign /tr http://timestamp.digicert.com /td SHA256 /v /f C:DriverCertmyDrivers.pfx /p [email protected] «C:DriverCertxgxg20gr.cat»

sigtool подписать CAT файл драйвера своим сертификатом

Если при выполнении команды появляется ошибка SignTool Error: An unexpected internal error has occurred, или Error information: SignerTimeStamp() failed. (-2147012865/0x80072eff) , попробуйте другой URL адрес сервера. Попробуйте любой из списка:

http://timestamp.verisign.com/scripts/timstamp.dll http://timestamp.globalsign.com/scripts/timstamp.dll http://timestamp.comodoca.com/authenticode http://www.startssl.com/timestamp http://tsa.starfieldtech.com

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

Successfully signed: C:DriverCertxgxg20gr.cat Number of files successfully Signed: 1

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

SignTool verify /v /pa c:DriverCertxgxg20gr.cat

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

Также можно увидеть информацию о сертификате в свойствах CAT файла на вкладке Digital Signatures.

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

Если сертификат не доверенный (или не был добавлен в хранилище корневых доверенных сертификатов), то при выполнении команды SignTool verify появится ошибка:

SignTool Error: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.

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

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

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

Pnputil –i –a C:DriverCertxg20xg20gr.inf

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

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

В Windows 10 и 11 появляется предупреждение о том, уверены ли вы, что хотите установить этот драйвер. Нажав Install, вы установите драйвер в системе.

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

setupapi.dev.log

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

Драйверы Kernel-Mode и User-Mode

Напомню, что в Windows драйвер могут выполнятся либо в режиме ядра (kernel-mode), либо в режиме пользователя (user-mode). Драйверы режима ядра, подписанные таким образом не будут загружаться при загрузке Windows в режиме UEFI Secure Boot с ошибкой:

Event ID: 7000 ERROR_DRIVER_BLOCKED 1275 (0x4FB) This driver has been blocked from loading.

ошибка 7000 при загрузк драйвера. windows заблокировала драйвер

Проверить, включен ли режим Secure Boot можно с помощью команды:

Confirm-SecureBootUEFI

Все драйвера, режима ядра, загружаемые при включенном SecureBoot, должны быть подписаны в ходе процесса сертификации Microsoft (WHQL — Windows Hardware Quality Lab). Причина в том, что при загрузке ядра, UEFI не может проверить сертификаты в локальном хранилище Windows.

SignTool Error: Signing Cert does not chain to a Microsoft Code Verification Root.

Microsoft ввела обязательную сертификацию сторонних драйверов по программе Windows Hardware Compatibility Program начиная с Windows 10 1607.

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

Для kernel-mode драйверов придется отключить проверку цифровой подписи при загрузке и загружаться в тестовом режиме с помощью bcdedit.exe, как описано здесь:

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

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

Источник: winitpro.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru