Windows 10, 8.1 и Windows 7 позволяют отключить обязательную проверку цифровой подписи драйверов и установить неподписанный драйвер, однако если в последних версиях ОС это нужно сделать на постоянной основе, изменение опций с помощью bcdedit не помогает. Однако, может помочь самостоятельная подпись драйвера и его последующая установка, о чем и поговорим.
В этой инструкции подробно о том, как самостоятельно подписать драйвер для Windows 10, 8.1 или Windows 7 x64 или 32-бит (x86) для последующей установки в системе на постоянной основе без отключения проверки цифровой подписи драйверов, избежав при этом ошибок наподобие «INF стороннего производителя не содержит информации о подписи».
Что потребуется для подписи драйвера
Для того, чтобы выполнить все описанные далее шаги, скачайте и установите следующие инструменты с сайта Майкрософт:
- Microsoft Windows SDK for Windows 7 https://www.microsoft.com/en-us/download/details.aspx?id=8279
- Windows Driver Kit 7.1.0 https://www.microsoft.com/en-us/download/details.aspx?id=11800
Из первого набора достаточно будет установить Tools, из второго (представляет собой ISO-образ с установщиком, с которого нужно запустить KitSetup.exe) — выбрать Build Environments и Tools.
Обратите внимание: это не последние версии наборов инструментов, но они в равной степени подойдут для самостоятельной подписи драйверов для последующей установки во всех ОС от Windows 10 до Windows 7, при этом в инструкции не потребуется вдаваться в некоторые дополнительные нюансы.
Процесс самостоятельной подписи драйвера
В процессе для того, чтобы подписать драйвер самостоятельно, нам потребуется: создать сертификат, подписать драйвер этим сертификатом, установить сертификат в системе и установить драйвер. Начнем.
- Создайте в корне диска C какую-либо папку (так к ней проще будет обращаться в дальнейшем), например, C:cert, где мы будем работать с сертификатами и драйверами.
- Запустите командную строку от имени администратора (нужны для 18-го шага). Далее используем следующие команды по порядку. Файлы драйвера пока не потребуются. Во время выполнения второй команды вас попросят ввести пароль, я использую password в окне запроса и далее в командах, вы можете использовать свой.
-
cd "C:Program FilesMicrosoft SDKsWindowsv7.1bin"
-
makecert -r -sv C:certdriver.pvk -n CN="remontka" C:certdriver.cer
-
cert2spc C:certdriver.cer C:certdriver.spc
-
pvk2pfx -pvk C:certdriver.pvk -pi password -spc C:certdriver.spc -pfx C:certdriver.pfx -po password
- До этого этапа всё должно пройти как на скриншоте ниже, командную строку не закрываем.
- В папке C:cert создайте вложенную папку, например, drv и поместите туда свои файлы драйвера. Но: если вам требуется драйвер только для x64, не копируйте .inf файл для x86 систем в эту папку и наоборот.
В командной строке используем следующие команды:
-
cd C:WinDDK7600.16385.1binselfsign
-
inf2cat.exe /driver:"C:certdrv" /os:7_X64 /verbose
- В предыдущей команде для драйвера 32-бит укажите X86 вместо X64. Если будет предложено скачать .NET Framework, согласитесь, установите, а затем заново выполните команду. В идеале вы должны будете получить сообщение об успешном создании .cat файла для подписи. Однако, возможны ошибки, о наиболее частых — следующие два пункта. После исправления ошибок повторите команду из пункта 10.
- DriverVer set to incorrect date — возникает при дате в файле драйвера до 21 апреля 2009 года. Решение: откройте файл .inf из папки drv в текстовом редакторе (можно в блокноте) и в строке DriverVer установите другую дату (формат: месяц/день/год).
- Missing AMD64 CatalogFile entry (для 64-бит) или Missing 32-bit CatalogFile entry. Решение: откройте файл .inf из папки drv в текстовом редакторе и в разделе [Version] добавьте строку CatalogFile=catalog.cat
- В итоге вы должны получить сообщение: Catalog generation complete с указанием пути к файлу каталога, в моем случае – C:certdrvcatalog.cat. Далее используем следующие команды (требуется подключение к Интернету).
-
cd "C:Program FilesMicrosoft SDKsWindowsv7.1bin"
-
signtool sign /f C:certdriver.pfx /p password /t http://timestamp.verisign.com/scripts/timestamp.dll /v C:certdrvcatalog.cat
- Результат подписи файла драйвера без ошибок на скриншоте ниже. Следующий шаг — добавить самоподписанный сертификат в список доверенных в системе, сделать это можно следующими двумя командами по порядку
-
certmgr.exe -add C:certdriver.cer -s -r localMachine ROOT certmgr.exe -add C:certdriver.cer -s -r localMachine TRUSTEDPUBLISHER
- В результате вы должны получить сообщение «CertMgr Succeeded». Если Failed или certmgr.exe не является внутренней или внешней командой — убедитесь, что командная строка запущена от имени администратора, а вы находитесь в нужной папке (см. 15 шаг).
И вот теперь можно закрыть командную строку и установить драйвер из папки C:certdrv с помощью диспетчера устройств, или нажав правой кнопкой по .inf файлу и выбрав пункт «Установить». Потребуется подтвердить установку драйвера в окне «Не удалось проверить издателя этих драйверов» — нажать «Все равно установить этот драйвер».
Обратите внимание, что возможные ошибки в диспетчере устройств, отображаемые для устройства с самостоятельно подписанным драйвером обычно не имеют отношения непосредственно к процессу подписи (та же ошибка для них будет появляться и без подписи, при простом отключении проверки цифровой подписи драйверов в особых вариантах загрузки). Т.е. искать причину в этом случае нужно в чем-то ещё и читать подробную инструкцию по использованию драйвера (например, в случае драйверов для FlashTool).
Содержание
- Способ 1: Импорт цифровой подписи
- Способ 2: Ручное создание подписи
- Шаг 1: Предварительные действия
- Шаг 2: Генерация ключа и сертификата
- Шаг 3: Создание конфигурационного файла
- Шаг 4: Создание подписи для драйвера
- Вопросы и ответы
Перед началом инструкций отметим, что иногда бывает проще отключить проверку цифровых подписей в операционной системе, нежели вручную подписывать драйвер. К тому же есть и альтернативные варианты инсталляции неподписанного ПО, о чем более детально читайте в других руководствах на нашем сайте, воспользовавшись ссылками ниже.
Подробнее:
Отключение проверки цифровой подписи драйверов в Windows 7
Установка драйвера без проверки цифровой подписи в Windows
Способ 1: Импорт цифровой подписи
Первый вариант подходит тем пользователям, кто собирается устанавливать его в операционную систему только один раз и не заинтересован в дальнейшем распространении. Этот способ лучше всего использовать в тех ситуациях, когда вы скачали драйвер, но оказалось, что он не подписан и инсталлировать его не получается. Тогда от вас требуется перенести его конфигурацию в Windows 7, что осуществляется так:
- Перейдите в папку с драйвером и отыщите там файл формата INF, который и должен быть установлен в ОС. Щелкните по нему ПКМ, чтобы вызвать контекстное меню.
- Внизу списка выберите пункт «Свойства».
- Переместитесь на вкладку «Безопасность».
- Полностью выделите имя файла и скопируйте его клавишами Ctrl + C или вызвав контекстное меню нажатием ПКМ.
- Запустите «Командную строку» от имени администратора любым удобным методом, например, отыскав приложение через меню «Пуск».
- Введите там команду
pnputil.exe –a
и через пробел вставьте скопированное ранее имя. Можно поступить и по-другому, используяcd
. Тогда через нее нужно переместиться к каталогу с драйвером и вписатьpnputil.exe –a + название файла
. - Ожидайте окончания обработки компонента, что займет буквально несколько секунд. После на экране отобразится уведомление о том, что импорт настроек произошел успешно.
Теперь драйвер считается зарегистрированным. Если инсталляция остальных компонентов должна происходить при помощи исполняемого файла, перейдите в каталог с программным обеспечением и запустите его, чтобы завершить установку.
Способ 2: Ручное создание подписи
Этот способ более сложный, поэтому пришлось даже разделить его на этапы во избежание проблем с пониманием. Его суть заключается в использовании фирменных средств разработчика от Microsoft, чтобы создать подпись для пользовательского драйвера. Особое внимание этому методу стоит уделить тем, кто заинтересован в ручной разработке драйверов.
Шаг 1: Предварительные действия
Компания Майкрософт распространяет все необходимые утилиты в свободном доступе, однако по умолчанию они отсутствуют в Windows 7, поэтому сначала придется заняться их загрузкой и инсталляцией.
Перейти на официальный сайт Microsoft для скачивания Windows SDK for Windows 7
- Откройте ссылку выше, чтобы открыть страницу скачивания Microsoft Windows SDK, где нажмите по кнопке «Download».
- Загрузка инсталлятора начнется в автоматическом режиме: ожидайте ее окончания, а затем запустите исполняемый файл.
- При появлении окна контроля учетных записей разрешите внесение изменений.
- Следуйте отобразившейся на экране инструкции и переходите далее.
- По ссылке, ведущей на страницу приложения, загрузите Windows Driver Kit.
Перейти на официальный сайт Microsoft для скачивания Windows Driver Kit 7.1.0
- Это целый пакет разных утилит и дополнительных компонентов, распространяющийся в виде ISO-образа. По завершении загрузки вам необходимо смонтировать его через любую удобную программу, о чем читайте по ссылке далее.
Подробнее: Как смонтировать образ в программе DAEMON Tools
- После запуска диска через виртуальный привод откройте EXE-файл для начала инсталляции.
- Укажите версию операционной системы.
- Выберите для установки все присутствующие инструменты, отметив их галочками, и завершите операцию.
- Затем откройте корень системного логического тома жесткого диска, где создайте папку с названием «DriverCert». В нее будут помещены все зависящие от драйвера объекты для удобства взаимодействия с ними.
- Переходите по стандартным расположениям установленных компонентов, чтобы запомнить путь ко всем каталогам. Вы можете скопировать их или записать, чтобы не запутаться при выполнении следующих действий.
Сейчас уже существуют новые версии рассмотренных инструментов, но вам нужно загружать только те сборки, на которые мы оставили ссылки. Связано это с тем, что разработчики в новых версиях прекратили поддержку используемых далее утилит, что не позволит вручную подписать драйвер. Убедитесь в том, что все компоненты установлены, перезагрузите компьютер и переходите далее.
Шаг 2: Генерация ключа и сертификата
Сертификат необходим драйверу для того, чтобы определить его подлинность, а сгенерированные ключи обезопасят сам файл от несанкционированного изменения. Создание таких компонентов — обязательное условие от Microsoft, поэтому каждому пользователю придется выполнить следующие действия:
- Запустите «Командную строку» от имени администратора.
- Введите команду
cd C:Program Files (x86)Microsoft SDKsWindowsv7.1bin
, чтобы перейти к папке с объектами SDK. Если вы изменяли директорию при установке, замените путь на актуальный. Активируйте команду нажатием по клавише Enter. - Задействуйте утилиту, входящую в состав SDK, чтобы сгенерировать сертификат, вписав в консоль команду
makecert -r -sv C:DriverCertmyDrivers.pvk -n CN="NameCompany" C:DriverCertMyDrivers.cer
. Замените NameCompany на название изготовителя драйвера или впишите произвольное. - На экране отобразится форма для создания пароля к закрытому ключу, а от вас требуется ввести его в соответствующем поле и подтвердить.
- Для продолжения работы в новом окне введите уже присвоенный пароль.
- После автоматического закрытия окна ознакомьтесь с содержимым консоли: если в конце вы видите уведомление «Succeeded», значит, генерация прошла удачно и можно двигаться далее.
- Следующий обязательный этап заключается в создании публичного ключа, и он будет доступен всем желающим внедрить драйвер в программное обеспечение. Для этого вставьте команду
cert2spc C:DriverCertmyDrivers.cer C:DriverCertmyDrivers.spc
. - Сообщение в консоли должно свидетельствовать об успешном создании публичного ключа.
- Закрытый и публичный ключ должны быть объединены в один компонент, а для этого используется команда
pvk2pfx -pvk C:DriverCertmyDrivers.pvk -pi P@ss0wrd -spc C:DriverCertmyDrivers.spc -pfx C:DriverCertmyDrivers.pfx -po PASSWORD
. Замените PASSWORD на ранее созданный пароль закрытого ключа.
Это был самый простой этап создания цифровой подписи для драйвера, в ходе которого практически никогда не возникает никаких ошибок. Однако если на экране отобразились какие-то предупреждающие уведомления, не игнорируйте их, читайте содержимое и исправляйте ситуацию в соответствии с находящимися там рекомендациями.
Шаг 3: Создание конфигурационного файла
Конфигурационный файл необходим каждому драйверу, ведь именно в нем и будут храниться основные сведения. В дальнейшем он может пригодиться, если, например, понадобится изменить дату последнего изменения или внести коррективы в название версии драйвера. Сначала понадобится обратиться в заранее созданную папку «DriverCert», куда перенесите файлы драйвера, для которого и создается подпись, выделив для них отдельный подкаталог. После запустите консоль и выполните такие действия:
- Для использования следующей утилиты снова придется переместиться в папку с набором инструментов от Майкрософт, а для этого задействуйте команду
cd C:WinDDK7600.16385.1binselfsign
. - Предварительно откройте каталог с драйвером и убедитесь, что там есть два файла с расширениями INF и SYS, ведь они будут задействованы для следующего формирования конфигурационного файла. После введите
inf2cat.exe /driver:"C:DriverCertDRIVER" /os:7_X64 /verbose
, заменив DRIVER на название ранее созданной папки с файлами. Подтвердите выполнение команды нажатием на Enter.
Следите за состоянием «Командной строки» и ожидайте появления на экране уведомлений «Signability test complete» и «Catalog generation complete». Во время процедуры создания файла настоятельно не рекомендуется выполнять других действий на компьютере, поскольку это может вызвать сбои в функционировании утилиты.
Отдельно отметим самую частую ошибку, которая появляется при создании конфигурационного файла. Ее текст выглядит примерно так: «22.9.7: DriverVer set to incorrect date (must be postdated to 4/21/2009 for newest OS) in XXXXX.inf», а вызывает ее некорректно установленная дата создания объекта. Если такая проблема возникла, откройте целевой файл, имя которого и указано в ошибке, через стандартный «Блокнот», где отыщите строку «DriverVer=» и поменяйте ее значение на 05/01/2009,9.9.9.9
. Сохраните изменения и повторно выполните создание конфигурационного файла.
Шаг 4: Создание подписи для драйвера
Когда все предыдущие этапы завершены, остается только подписать сам драйвер, что выполняется при помощи добавленных ранее средств разработчика через уже привычную Командную строку.
- Откройте консоль от имени администратора и напишите команду
cd "C:Program Files (x86)Windows Kits10bin10.0.17134.0x64"
. - Далее вставьте содержимое
signtool sign /f C:DriverCertmyDrivers.pfx /p PASSWORD /t http://timestamp.globalsign.com/scripts/timstamp.dll /v "C:DriverCertxgxg20gr.cat"
, заменив PASSWORD на пароль закрытого ключа, который создавался ранее. Во время данной операции будет задействован онлайн-сервис Globalsign, отвечающий за установку штампа времени, поэтому убедитесь в наличии подключения к интернету. Появившаяся в консоли строка Successfully signed: C:DriverCertxgxg20gr.cat Number of files successfully Signed: 1 уведомит об успешном завершении процесса. - По очереди вставьте две команды ниже, устанавливающие сертификат.
certmgr.exe -add C:DriverCertmyDrivers.cer -s -r localMachine ROOT
certmgr.exe -add C:DriverCertmyDrivers.cer -s -r localMachine TRUSTEDPUBLISHER
Следуйте отобразившимся в графическом меню инструкциям, чтобы завершить подпись. На этом процесс считается оконченным, а подписанный драйвер остается только вручную установить, если это требуется.
Подробнее: Ручная установка драйверов в Windows 7
Драйверы – необходимое программное обеспечение, позволяющее нормально функционировать устройству. Без них работа компонентов была либо невозможно, либо – производилась бы не на полную мощность. При установке драйверов Windows выполняет проверку цифровой подписи. Это необходимо для обеспечения безопасности. Таким образом операционная система узнает, надежен ли издатель, распространяющий программное обеспечение.
Но в некоторых случаях пользователю может потребоваться отключить проверку цифровой подписи драйверов Windows. Это может понадобиться, если у устанавливаемого ПО нет цифровой подписи и проверка издателя невозможна. Операционная система при этом не разрешает инсталляцию таких драйверов, выдавая характерное уведомление «Windows не удается проверить издателя».
В этой статье мы рассмотрим несколько способов отключения обязательной проверки подписи драйверов на Windows 10, 8 и 7.
Как отключить проверку цифровой подписи драйверов Windows 7, 8, 10 – универсальный способ
Выполнить деактивацию проверки можно с помощью редактора локальной групповой политики. Этот способ является универсальным и подходит для всех версий операционной системы.
Как навсегда отключить проверку цифровой подписи драйверов Windows:
- Открыть приложение «Выполнить». Сделать это можно из меню пуск или воспользовавшись сочетанием клавиш Win+R;
- Ввести в строку команду gpedit.msc и нажать Enter;
- В навигационном меню слева необходимо пройти по следующему пути:
— «Конфигурация пользователя»
— «Административные шаблоны»
— «Система»
— «Установка драйвера» - В разделе «Состояние» найти пункт «Цифровая подпись драйверов устройств». Необходимо кликнуть по нему правой кнопкой мыши и выбрать в контекстном меню «Изменить».
- По умолчанию для проверки цифровой подписи устройств стоит опция «Не задано». Пользователь может перевести переключатель в режим «Включено», а затем, чуть ниже в окне, в контекстном меню выбрать пункт «Пропустить» под надписью: «Если Windows обнаруживает файл драйвера без цифровой подписи». Или же можно изначально активировать переключатель напротив пункт «Отключено»;
- Сохранить внесенные изменения, нажав кнопку «ОК»;
- Выполнить перезагрузку компьютера.
Убрать проверку цифровой подписи драйверов на Windows 10 можно через параметры системы. Для этого необходимо выполнить следующую пошаговую инструкцию:
- Открыть меню «Пуск» (кнопка в нижнем правом углу с логотипом операционной системы );
- Выбрать пункт «Параметры» ;
- Перейти в раздел «Обновления и безопасность»;
- Перейти в подраздел «Восстановление» в боковом меню;
- Нажать кнопку «Перезагрузить сейчас» в особых вариантах загрузки;
- В процессе перезагрузки необходимо выбрать пункт «Поиск и устранение неисправностей» в окне «Выбор действия»;
- Перейти в «Дополнительные параметры» в окне «Диагностика»;
- Нажать «Посмотреть другие варианты восстановления»;
- Выбрать пункт «Параметры загрузки»;
- Нажать кнопку «Перезагрузить»;
- После повторной перезагрузки необходимо нажать F7, или другую клавишу F*, которая соответствует номеру с пунктом «Отключить обязательную проверку подписи драйверов».
После проделанной операции, пользователь может установить неподписанный драйвер. Однако стоит учесть, что данный способ разово отключает проверку драйверов и может возникнуть проблема, в результате которой драйвер слетит. В таком случае придется повторить операцию или воспользоваться вариантом, описанным в начале статьи.
Отключение проверки цифровой подписи драйверов Windows 8 и 8.1
Аналогичным способом можно произвести загрузку Windows 8 и 8.1 без обязательной проверки цифровых подписей драйверов:
- Подвести курсор мыши к правому краю экрана;
- Выбрать опцию «Изменение параметров компьютера»;
- Нажать «Обновление и восстановление»;
- Перейти в «Восстановление»;
- Нажать «Перезагрузить сейчас»;
- В процессе перезагрузки выбрать раздел «Диагностика»;
- Затем — «Дополнительные параметры»;
- Выбрать «Параметры загрузки»;
- Нажать кнопку «Перезагрузить»;
- После повторной перезагрузки необходимо нажать F7, или другую клавишу F*, которая соответствует номеру с пунктом «Отключить обязательную проверку подписи драйверов».
Как отключить проверку цифровой подписи драйверов на Windows 7
Выполнить отключение проверки подписи драйверов на Windows 7 можно аналогичным способом. Рассмотрим его же, но только вызов особых вариантов загрузки будет производиться несколько иначе, а именно – непосредственно во время перезагрузки ПК.
- Перезагрузить или полностью выключить компьютер;
- В процессе включения / перезагрузки нажать клавишу F8, чтобы появились дополнительные параметры загрузки, главное успеть это сделать до того момента, как загрузится операционная система;
- Выбрать в меню пункт «Отключение обязательной проверки подписи драйверов».
Отключение проверки подписи драйверов через редактор реестра
Еще один способ — воспользоваться редактором реестра:
- Открыть редактор реестра. Для этого можно вызвать приложение «Выполнить», ввести команду regedit и нажать Enter или «OK». Также можно найти его через встроенный поиск Windows;
- Перейти по следующему пути:
HKEY_CURRENT_USERSoftwarePoliciesMicrosoft - Кликнуть правой кнопкой мыши по папке Microsoft и навести в контекстном меню на пункт «Создать», а затем – «Раздел»;
- Дать разделу имя Driver Signing ;
- Выделить новосозданный раздел;
- В рабочем поле кликнуть правой кнопкой мыши по пустому месту, чтобы появилось контекстное меню с одним единственным пунктом – «Создать». Следует навести на него мышь и в раскрывшемся подменю выбрать «Параметр DWORD (32 бита)»;
- Назвать новый параметр следующим именем: BehaviorOnFailedVerify ;
- Сделать клик правой кнопкой мыши по новосозданному параметру и выбрать в контекстном меню пункт «Изменить»;
- Убедиться, что значение стоит 0 и выбрана шестнадцатеричная система исчисления;
- Выполнить перезагрузку компьютера.
Чтобы вновь включить функцию проверки достаточно удалить из реестра папку Driver Signing.
Отключение проверки цифровой подписи драйверов Windows в командной строке
Произвести деактивацию функции проверки подписей драйверов можно с помощью командной строки. Есть целых 2 способа.
Способ 1:
- Запустить командную строку. Можно найти ее в поиске Windows. Или нажать сочетание клавиш Win+R, ввести команду cmd и нажать Enter;
- В окне командной строки ввести следующую команду:
exe /set nointegritychecks ON
И нажать Enter;
- Перезагрузить компьютер.
Снова включить ее можно с помощью команды:
bcdedit.exe /set nointegritychecks OFF
Способ 2:
- Запустить командную строку;
- Ввести команду:
exe -set loadoptions DISABLE_INTEGRITY_CHECKS
И нажать Enter; - Затем, ввести еще одну команду:
exe -set TESTSIGNING ON
И нажать Enter; - Произвести перезагрузку компьютера / ноутбука.
Включение проверки подписей драйверов производиться поочередным вводом следующих команд:
bcdedit -set loadoptions ENABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING OFF
Не нашли ответ? Тогда воспользуйтесь формой поиска:
Все 64 битные версии Windows по умолчанию запрещают установку драйверов устройств, которые не подписаны с помощью корректной цифровой подписи. Неподписанные драйвер блокируются операционной системой. Наличие цифровой подписи гарантирует, что драйвер выпущен доверенным разработчиком или вендором, а его код не был модифицирован.
В Windows x64 вы можете отключить проверку цифровой подписи устанавливаемого драйвера: с помощью групповой политики или тестового режима загрузки системы (подробнее все способы описаны в статье Отключаем проверку цифровой подписи для установки неподписанных драйверов в Windows).
Сегодня мы покажем, как можно самостоятельно подписать любой неподписанный драйвер для x64 битной версии Windows (инструкция применима для Windows 11, 10, 8.1 и 7).
Содержание:
- Создаем самоподписанный сертификат драйвера
- Генерируем CAT файл драйвера
- Подписываем драйвер самоподписанным сертификатом
- Установка драйвера, заверенного самоподписанным сертификатом
- Драйверы Kernel-Mode и User-Mode
Предположим, что у нас имеется драйвер некого устройства для x64 Windows 10, у которого отсутствует цифровая подпись (в нашем примере это будет драйвер для довольно старого графического адаптера видеокарты). Я скачал архив с драйверами для Windows с сайта производителя (мне удалось найти драйвер только для Windows Vista x64). Архив с драйвером я распаковал в каталог c:toolsdrv1. Попробуем установить драйвер, добавив его в хранилище драйверов Windows с помощью стандартной утилиты pnputil.
Pnputil –a "C:toolsdrv1xg20gr.inf"
Примечание. Эта и все последующие команды выполняются в командной строке, запущенной с правами администратора.
При установке драйвера в Windows 7 появляется предупреждение о том, что ОС не может проверить цифровую подпись драйвера.
В Windows 10 (21H1) появляется предупреждение:
Не удалось добавить пакет драйвера: INF стороннего производителя не содержит информации о подписи.
Adding the driver package failed : The third-party INF does not contain digital signature information.
Такая же ошибка появляется при установке драйвера из проводника 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 (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
Теперь нужно добавить сертификат в доверенные корневые сертификаты и в сертификаты доверенных издателей:
$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.0x86”
На основе inf файла с помощью утилиты inf2cat.exe (входит в состав Windows Driver Kit -WDK) сгенерируйте cat файл (содержит информацию о всех файлах пакета драйвера).
inf2cat.exe /driver:"C:DriverCertxg" /os:7_X64 /verbose
Чтобы убедитесь, что процедура прошла корректно, проверьте, что в каталоге появился файл 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
Для исправления ошибки нужно в секции [Version] найти строку с DriverVer= и заменить ее на:
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.0x64"
Подпишите комплект файлов драйвера созданным сертификатом. В качестве сервиса таймстампа (штамп времени) воспользуемся ресурсом 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"
Если при выполнении команды появляется ошибка
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
Также можно увидеть информацию о сертификате в свойствах CAT файла на вкладке Digital Signatures.
Если сертификат не доверенный (или не был добавлен в хранилище корневых доверенных сертификатов), то при выполнении команды 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 будут примерно такие строки:
>>> [Device Install (DiInstallDriver) - C:WINDOWSSystem32DriverStoreFileRepositoryxg20gr.inf_amd64_c5955181485ee80axg20gr.inf] >>> Section start 2018/07/22 23:32:57.015 cmd: Pnputil -i -a c:DriverCertxgxg20gr.inf ndv: Flags: 0x00000000 ndv: INF path: C:WINDOWSSystem32DriverStoreFileRepositoryxg20gr.inf_amd64_c5955181485ee80axg20gr.inf inf: {SetupCopyOEMInf: C:WINDOWSSystem32DriverStoreFileRepositoryxg20gr.inf_amd64_c5955181485ee80axg20gr.inf} 23:32:57.046 inf: Copy style: 0x00000000 inf: Driver Store Path: C:WINDOWSSystem32DriverStoreFileRepositoryxg20gr.inf_amd64_c5955181485ee80axg20gr.inf inf: Published Inf Path: C:WINDOWSINFoem23.inf inf: {SetupCopyOEMInf exit (0x00000000)} 23:32:57.077 <<< Section end 2018/07/22 23:32:57.155 <<< [Exit status: SUCCESS]
Драйверы 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.
Проверить, включен ли режим 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
Цифровая подпись драйвера используется Microsoft для идентификации производителя и подтверждения соответствия продукта требованиям операционной системы. Наличие такого электронного сертификата гарантирует отсутствие в нем изменений, внесенных после выпуска. Таким образом, пользователь получает двойную гарантию безопасности и может быть уверен в работоспособности полученного драйвера.
Содержание
- 1 Проверка подписей
- 1.1 Direct X
- 1.2 Signature Verification
- 2 Отключение подписи
- 2.1 Групповая политика
- 2.2 Особые параметры загрузки
- 2.3 Режим командной строки
- 3 Создание цифровой подписи
- 4 В заключение
Проверка подписей
Windows выполняет проверку цифрового сертификата автоматически. Обнаружив его отсутствие, система выдает пользователю предупреждение об опасности установки неподписанного драйвера. Для проверки уже инсталлированных в ОС компонентов можно использовать встроенные инструменты.
Direct X
Драйверы мультимедиа ‒ наиболее часто обновляемые компоненты ОС. Проверить их на наличие сертификата можно с помощью встроенного средства диагностики. Запускаем его командой, показанной на скриншоте.
На основной вкладке ставим галочку в отмеченном поле. Таким образом мы включим автоматическую проверку утилитой сертификатов соответствия.
Переключившись на следующую вкладку, в поле «Драйверы» мы видим положительный ответ системы.
Аналогичным образом проверяем остальные страницы, убеждаясь в наличии сертификата WHQL.
Signature Verification
Выявить наличие в системе всех компонентов без цифровой подписи можно, используя специальную утилиту проверки. Запустим ее, набрав в текстовом поле «sigverif».
Нажимаем отмеченную кнопку для активации процедуры тестирования компонентов.
Завершение верификации несколько изменит вид основного окна утилиты. Нажимаем на выделенную кнопку, чтобы открыть дополнительные параметры.
Выбираем опцию «Просмотр журнала».
В текстовом редакторе запускается отчет о состоянии установленных в системе драйверов. Обозначенная колонка «Состояние» дает информацию о наличии цифрового сертификата WHQL.
Разобравшись с текущим состоянием системы, рассмотрим, как выполнить отключение проверки цифровой подписи драйверов в Windows 10.
Отключение подписи
Поддерживая стабильность ОС, Microsoft не рекомендует устанавливать компоненты, не имеющие сертификатов WHQL, но такая возможность в системе осталась. Необходимость установить неподписанный драйвер может возникнуть по разным причинам. К примеру, это может быть оборудование, снятое с производства, но необходимое для работы.
Групповая политика
Самый простой способ отключить электронную подпись заключается в изменении политики безопасности. Запускаем редактор, используя меню «Выполнить».
В главном окне последовательно разворачиваем подчеркнутые пункты в области навигации. Последний раздел содержит три параметра. Нужный нам выделен рамкой. Открываем его для редактирования.
В управляющем блоке ставим переключатель в положение «Включено». В области параметров используем выпадающее меню. Выбираем пункт, отмеченный цифрой «2». Применяем и сохраняем внесенные изменения.
Заданное правило должно начать действовать без перезагрузки.
Особые параметры загрузки
Следующий способ предполагает использование особых вариантов загрузки операционной системы. Открываем меню параметров Windows и переходим в указанный на скриншоте раздел.
В области навигации перемещаемся к пункту «Восстановление». Используем отмеченную кнопку для перезагрузки системы.
Управление мышью тут доступно, поэтому последовательно начинаем перемещаться по меню. Открываем раздел устранения неисправностей.
Выбираем дополнительные параметры.
Переходим к настройкам загрузки.
Эта область информационная и работает в ней только отмеченная кнопка.
Система переходит в режим низкого разрешения экрана и отключает управление мышью. Нужный нам пункт седьмой в списке. Выбираем его, нажимая управляющую клавишу «F7» в верхнем ряду клавиатуры.
Компьютер перезагрузится, после чего установка неподписанных драйверов в ОС станет доступна.
Режим командной строки
С помощью этого метода можно также отключить проверку цифровой подписи драйвера в Windows 7. Запускаем PowerShell в режиме повышенных прав. Вводим последовательно приведенные на скриншоте команды.
После перезагрузки система не будет сообщать, что ей требуется драйвер с цифровой подписью. Для отключения режима в тексте последней команды указываем «OFF» вместо «ON».
Еще один вариант использования командной строки требует перезагрузки в безопасный режим. Последовательность действий мы уже рассматривали. Добравшись до дополнительных параметров, выбираем обозначенный пункт.
Операционная система еще раз перезагрузится, отобразив командную строку в режиме администратора. Вводим приведенную на скриншоте команду. Для выхода в графическое меню набираем «exit».
Отключение данного режима также выполняется заменой «ON» на «OFF» в конце управляющей команды.
Создание цифровой подписи
В некоторых случаях описанные методы могут не помочь. Когда не отключается проверка подписи драйверов Windows 7 или 10, придется подписать его самостоятельно. Для этой цели нам понадобится распаковать установочный пакет и найти файл с расширением INF. В нем содержится необходимая для инсталляции в системе информация. Найдя нужный файл, вызываем его свойства и переходим на вкладку «Безопасность». Копируем путь, указанный в поле «Имя объекта».
Запускаем PowerShell с повышенными правами. Вводим следующую команду: «pnputil -a C:pathname.inf». Заменяем в ней строку «C:pathname.inf» на скопированный путь к файлу.
В результате ее выполнения выбранный драйвер будет зарегистрирован в системе. Этот же способ подойдет и в том случае, когда постоянно слетает цифровая подпись драйвера.
В заключение
Как мы убедились, существует несколько вариантов установки необходимых компонентов без электронного сертификата WHQL. Действия несложные и могут быть выполнены любым пользователем. Тем не менее, установка неподписанного драйвера не должна быть нормой. Поскольку он не тестировался Microsoft, компания не будет нести ответственность за последствия его установки, а пользователь имеет высокие шансы столкнуться с ошибками BSOD.
Содержание
- Установка драйвера без проверки цифровой подписи в Windows
- Установка неподписанного драйвера в Windows
- Способ 1: Особые параметры загрузки Windows
- Способ 2: Командная строка
- Способ 3: Редактор локальной групповой политики
- Способ 4: Создание цифровой подписи
- Установка драйверов без цифровой подписи
- Проверка подписей
- Direct X
- Signature Verification
- Отключение подписи
- Групповая политика
- Особые параметры загрузки
- Режим командной строки
- Создание цифровой подписи
- В заключение
- Как отключить проверку цифровой подписи драйвера в Windows 7
- Загрузка Windows 7 без проверки цифровой подписи
- Отключаем проверку подписи драйверов в Windows 7 с помощью групповой политики
- Отключаем проверку цифровой подписи драйверов в Windows 7 с помощью bcdedit
- Установка неподписанных драйверов в Windows 7/8/8.1/10
- Как разрешить установку неподписанных драйверов?
- Можно ли установить драйвер без цифровой подписи?
- Как отключить проверку подписи драйверов?
- Как включить подпись драйвера?
- Как установить драйвер без цифровой подписи для Windows 7?
- Как принудительно установить драйвер?
- Что это значит, если у драйвера нет цифровой подписи?
- Как узнать, отключено ли принудительное использование подписи драйверов?
- Как отключить принудительное использование подписи драйверов?
- Какая команда отключает принудительное использование подписи драйверов?
- Как включить тестовое подписание?
- Вы хотите проверить, подписаны ли ваши драйверы цифровой подписью?
- Как установить неподписанные драйверы в Windows 10?
- Как включить драйверы без цифровой подписи?
- Как включить цифровую подпись в Windows 7?
- Почему у Microsoft есть драйверы с цифровой подписью?
Установка драйвера без проверки цифровой подписи в Windows
Как известно, для корректной, стабильной и производительной работы комплектующих ПК и периферийных устройств требуется установка дополнительного программного обеспечения. Скачанный драйвер с официального сайта или через специальные приложения зачастую устанавливается без проблем. Однако происходит это только в том случае, если его тестирование компанией Майкрософт прошло успешно. В редких случаях сертификат может отсутствовать по некоторым причинам, из-за этого у пользователя возникают проблемы с установкой необходимого драйвера.
Установка неподписанного драйвера в Windows
Как уже было сказано выше, в большинстве случаев все сопутствующее ПО для оборудования предварительно проверяется в Microsoft. При успешно пройденном тестирование компания добавляет специальный файл-сертификат, являющийся цифровой подписью. Этот документ означает подлинность и безопасность драйвера для операционной системы, благодаря чему его инсталляция происходит без труда.
Однако такой сертификат может быть не во всем ПО. К примеру, он может отсутствовать для драйвера к старому (но технически рабочему) оборудованию. Но есть и другие ситуации, в которых подпись может отсутствовать у нового устройства или виртуальных драйверов.
Будьте внимательны при инсталляции непроверенного драйвера! Отключая проверку, вы ставите под угрозу работоспособность системы и сохранность ваших данных. Выполняйте его инсталляцию, только если уверены в безопасности файла и источника, откуда он был скачан.
Переходя к основной теме вопроса, хочется отметить, что есть 3 рабочих варианта отключения проверки подписи драйвера. Один из них работает до перезагрузки ПК, второй отключает защиту до последующего ручного включения пользователем. Более подробно о каждом из них читайте ниже.
Способ 1: Особые параметры загрузки Windows
Чаще всего необходимость отключения проверки цифровой подписи возникает единожды. В этой ситуации логичнее всего воспользоваться предоставлением временного разрешения. Оно будет работать один раз: до последующей перезагрузки компьютера. За этот промежуток времени вы можете инсталлировать любое количество непроверенных драйверов, перезапустить ПК, и проверка сертификата будет работать как и прежде, защищая операционную систему.
Первым делом запустите ОС в особом режиме. Пользователям Windows 10 потребуется выполнить следующие шаги:
Это же можно сделать, вызвав альтернативное меню ПКМ.
Последовательность действий для пользователей Windows 7 другая:
Теперь можно заняться инсталляцией программного обеспечения.
После следующего включения компьютера будет произведен обычный запуск системы, и она вновь начнет проверять подпись у драйверов, которые вы захотите установить. Обратите внимание, что эта служба не занимается проверкой установленных драйверов, для этого необходимо запускать отдельное приложение, которое по понятным причинам нас не интересует.
Способ 2: Командная строка
Используя известный многим интерфейс командной строки пользователь может отключить цифровую подпись, введя последовательно 2 команды.
Этот способ работает только при стандартном интерфейсе BIOS. Владельцам материнских плат с UEFI потребуется предварительно отключить «Secure Boot».
Пользователи «десятки» могут открыть командную строку либо PowerShell (в зависимости от того, как настроено их альтернативное меню) с правами администратора и через ПКМ по «Пуск».
Нажмите Enter и впишите:
Снова жмите Enter. Спустя небольшой промежуток времени вы получите уведомление «Операция успешно завершена».
В любой момент можно вернуть настройки, открыв cmd методом, расписанным выше, и вписав это:
После этого нажмите Enter и перезагрузить компьютер. Теперь драйверы всегда будут проверяться операционной системой. Дополнительно можно обратно включить UEFI таким же образом, каким вы его отключали.
Способ 3: Редактор локальной групповой политики
Еще один вариант решения поставленной задачи — редактирование политики компьютера. Им могут воспользоваться обладатели Windows версии выше Home (Домашней).
Запустите драйвер, который не удавалось установить, и повторите попытку.
Способ 4: Создание цифровой подписи
Не всегда методы, рассмотренные в этой статье, работают. При невозможности отключить проверку, можно пойти другим путем — создать подпись вручную. Он же подойдет, если подпись установленного программного обеспечения время от времени «слетает».
Мы рассмотрели несколько способов установки неподписанного программного обеспечения. Каждый из них несложен и доступен даже для начинающих юзеров. Еще раз стоит напомнить о небезопасности такой инсталляции и возможных ошибках в виде синего экрана смерти. Не забудьте предварительно создать точку восстановления.
Читайте также: Как создать точку восстановления в Windows XP, Windows 7, Windows 8, Windows 10
Помимо этой статьи, на сайте еще 12345 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник
Установка драйверов без цифровой подписи
Цифровая подпись драйвера используется Microsoft для идентификации производителя и подтверждения соответствия продукта требованиям операционной системы. Наличие такого электронного сертификата гарантирует отсутствие в нем изменений, внесенных после выпуска. Таким образом, пользователь получает двойную гарантию безопасности и может быть уверен в работоспособности полученного драйвера.
Проверка подписей
Windows выполняет проверку цифрового сертификата автоматически. Обнаружив его отсутствие, система выдает пользователю предупреждение об опасности установки неподписанного драйвера. Для проверки уже инсталлированных в ОС компонентов можно использовать встроенные инструменты.
Direct X
Драйверы мультимедиа ‒ наиболее часто обновляемые компоненты ОС. Проверить их на наличие сертификата можно с помощью встроенного средства диагностики. Запускаем его командой, показанной на скриншоте.
На основной вкладке ставим галочку в отмеченном поле. Таким образом мы включим автоматическую проверку утилитой сертификатов соответствия.
Переключившись на следующую вкладку, в поле «Драйверы» мы видим положительный ответ системы.
Аналогичным образом проверяем остальные страницы, убеждаясь в наличии сертификата WHQL.
Signature Verification
Выявить наличие в системе всех компонентов без цифровой подписи можно, используя специальную утилиту проверки. Запустим ее, набрав в текстовом поле «sigverif».
Нажимаем отмеченную кнопку для активации процедуры тестирования компонентов.
Завершение верификации несколько изменит вид основного окна утилиты. Нажимаем на выделенную кнопку, чтобы открыть дополнительные параметры.
Выбираем опцию «Просмотр журнала».
В текстовом редакторе запускается отчет о состоянии установленных в системе драйверов. Обозначенная колонка «Состояние» дает информацию о наличии цифрового сертификата WHQL.
Разобравшись с текущим состоянием системы, рассмотрим, как выполнить отключение проверки цифровой подписи драйверов в Windows 10.
Отключение подписи
Поддерживая стабильность ОС, Microsoft не рекомендует устанавливать компоненты, не имеющие сертификатов WHQL, но такая возможность в системе осталась. Необходимость установить неподписанный драйвер может возникнуть по разным причинам. К примеру, это может быть оборудование, снятое с производства, но необходимое для работы.
Групповая политика
Самый простой способ отключить электронную подпись заключается в изменении политики безопасности. Запускаем редактор, используя меню «Выполнить».
В главном окне последовательно разворачиваем подчеркнутые пункты в области навигации. Последний раздел содержит три параметра. Нужный нам выделен рамкой. Открываем его для редактирования.
В управляющем блоке ставим переключатель в положение «Включено». В области параметров используем выпадающее меню. Выбираем пункт, отмеченный цифрой «2». Применяем и сохраняем внесенные изменения.
Заданное правило должно начать действовать без перезагрузки.
Особые параметры загрузки
Следующий способ предполагает использование особых вариантов загрузки операционной системы. Открываем меню параметров Windows и переходим в указанный на скриншоте раздел.
В области навигации перемещаемся к пункту «Восстановление». Используем отмеченную кнопку для перезагрузки системы.
Управление мышью тут доступно, поэтому последовательно начинаем перемещаться по меню. Открываем раздел устранения неисправностей.
Выбираем дополнительные параметры.
Переходим к настройкам загрузки.
Эта область информационная и работает в ней только отмеченная кнопка.
Система переходит в режим низкого разрешения экрана и отключает управление мышью. Нужный нам пункт седьмой в списке. Выбираем его, нажимая управляющую клавишу «F7» в верхнем ряду клавиатуры.
Компьютер перезагрузится, после чего установка неподписанных драйверов в ОС станет доступна.
Режим командной строки
С помощью этого метода можно также отключить проверку цифровой подписи драйвера в Windows 7. Запускаем PowerShell в режиме повышенных прав. Вводим последовательно приведенные на скриншоте команды.
После перезагрузки система не будет сообщать, что ей требуется драйвер с цифровой подписью. Для отключения режима в тексте последней команды указываем «OFF» вместо «ON».
Еще один вариант использования командной строки требует перезагрузки в безопасный режим. Последовательность действий мы уже рассматривали. Добравшись до дополнительных параметров, выбираем обозначенный пункт.
Операционная система еще раз перезагрузится, отобразив командную строку в режиме администратора. Вводим приведенную на скриншоте команду. Для выхода в графическое меню набираем «exit».
Отключение данного режима также выполняется заменой «ON» на «OFF» в конце управляющей команды.
Создание цифровой подписи
В некоторых случаях описанные методы могут не помочь. Когда не отключается проверка подписи драйверов Windows 7 или 10, придется подписать его самостоятельно. Для этой цели нам понадобится распаковать установочный пакет и найти файл с расширением INF. В нем содержится необходимая для инсталляции в системе информация. Найдя нужный файл, вызываем его свойства и переходим на вкладку «Безопасность». Копируем путь, указанный в поле «Имя объекта».
В результате ее выполнения выбранный драйвер будет зарегистрирован в системе. Этот же способ подойдет и в том случае, когда постоянно слетает цифровая подпись драйвера.
В заключение
Как мы убедились, существует несколько вариантов установки необходимых компонентов без электронного сертификата WHQL. Действия несложные и могут быть выполнены любым пользователем. Тем не менее, установка неподписанного драйвера не должна быть нормой. Поскольку он не тестировался Microsoft, компания не будет нести ответственность за последствия его установки, а пользователь имеет высокие шансы столкнуться с ошибками BSOD.
Источник
Как отключить проверку цифровой подписи драйвера в Windows 7
В ОС Windows 7 Microsoft существенно ужесточила требованию к устанавливаемым драйверам (рекомендуем познакомиться с занимательной статьей об установке драйверов устройств в Windows 7). Теперь любой устанавливаемый драйвер должен иметь цифровую подпись, проверенную и сертифицированную Microsoft. Перед загрузкой и установкой драйвера любого устройства Windows 7 проверяет цифровую подпись этого драйвера. И если при попытке установить драйвер для нового устройства в Windows 7 вы увидите сообщение: «Windows can’t verify the publisher of this driver software», значит, данный драйвер не имеет цифровой подписи. В указанном диалогом окне можно выбрать вариант ”Install this driver software anyway” («Все равно установить этот драйвер»), однако в любом случае этот драйвер не установится, и значит, устройство работать не будет.
При установке неподписанного драйвера, в диспетчере устройств данное устройство будет помечено восклицательным знаком и содержать следующее сообщение об ошибке:
Windows cannot verify the digital signature for the drivers required for this device. A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source. (Code 52)
Также о проблемах с цифровой подписью драйверов могут свидетельствовать такие ошибки: Device driver software was not successfully installed
Политика проверки цифровой подписи у драйверов работает как в 32-х (x86), так и в 64-х (x64) версиях Windows 7 и главная причина появления такой политики установки сторонних драйверов – желание улучшить стабильность и надежность ОС Windows, добившись того, чтобы все выпускаемые драйвера проходили через сертификационный тест и тест на совместимость в Microsoft.
К счастью в Windows 7 можно отключить проверку цифровой подписи драйвера. И сделать это можно несколькими способами:
Рассмотрим все перечисленные варианты отключения проверки подписей драйверов
Загрузка Windows 7 без проверки цифровой подписи
Возможно временно отключить проверку подписей драйверов, если перегрузить систему, при загрузке нажать клавишу F8. В появившемся меню с вариантами загрузки системы выбрать пункт Disable Driver Signature Enforcement(«Отключение обязательной проверки подписи драйвера»).
После загрузки Win 7 можно будет установить неподписанный драйвер и протестировать его работу, однако если загрузиться в обычном режиме, драйвер работать не будет
Отключаем проверку подписи драйверов в Windows 7 с помощью групповой политики
В том случае, если вы полностью хотите отключить проверку подписывания драйверов в Windows 7, сделать это можно с помощью групповой политики.
В меню политик перейдите в раздел User Configuration->Administrative Templates-> System->Driver Installation.
В правой панели найдите пункт ‘Code Signing for Device Drivers’ и дважды щелкните по нему.
В появившемся окне выберите ‘Enabled’, а в нижнем меню — ‘Ignore’. Нажмите Ок и перезагрузите компьютер. После перезагрузи и применения политика, в своей Windows 7 вы полностью отключите подписывание драйверов, и сможете установить любые, в том числе, неподписанные драйвера.
Отключаем проверку цифровой подписи драйверов в Windows 7 с помощью bcdedit
Откройте командную строку с правами администратора и последовательно наберите следующие две команды:
После выполнения каждой из команд должно появиться сообщение о том, что команда выполнена успешно.
Перезагрузите компьютер и попробуйте установить неподписанный драйвер. Вуаля!
Если вам нужно отменить этот режим работы и вновь включить проверку цифровой подписи в win 7, выполните следующие команды:
Источник
Установка неподписанных драйверов в Windows 7/8/8.1/10
Здравствуйте, Друзья! Microsoft в своих системах реализовала функцию цифровой подписи. С одной стороны, это хорошо. Пользователи теперь будут намного меньше устанавливать всякой ерунды на свои компьютеры и, как следствие, повысится надежность, стабильность и т.д. Логика ясна. С другой стороны, производители периферии (принтеров, сканеров и другой техники) неохотно выпускают программное обеспечение под новые операционные системы. Их понять также можно. И пользователей понять можно, так как при покупке нового компьютера им хочется подключить свой старый добрый принтер, служащий верой и правдой 4-5, а может быть и 6-7 год. Вот и пытаются пользователи устанавливать самопальные драйверы.
Как это сделать расскажу ниже.
Вариант 1. Через дополнительные варианты загрузки (F8 при включении компьютера и «Отключение обязательной проверки подписи драйверов«). Минус в том, что придется всегда загружаться через F8.
В Windows 8/8.1/10 это можно сделать следующим образом
Вариант 2. С помощью групповых политик.
Конфигурация пользователя > Административные шаблоны > Система > Установка драйвера
Перезагружаем компьютер для применения изменений.
Теперь при установке у нас выйдет вот такое окошко. Жмем «Все равно установить этот драйвер» и устройство успешно устанавливается. Надеюсь, оно у вас будет работать без проблем.
Очень хочется услышать вашу обратную связь. Напишите, пожалуйста, если вам это помогло и нормально ли работает устройство под новой операционной системой. Спасибо.
Источник
Как разрешить установку неподписанных драйверов?
Самый простой способ установить неподписанные драйверы — использовать меню расширенной загрузки Windows 10. Для этого нажмите «Win + X», перейдите к «Завершение работы», а затем «Shift + левый щелчок» для параметра «Перезагрузка». Вышеупомянутое действие перезапустит вашу систему и перенесет вас в меню Advanced Boot.
Можно ли установить драйвер без цифровой подписи?
Из-за доступа к ядру драйверы должны быть подписаны официально. Если у вас есть драйверы, не подписанные Microsoft, их нельзя установить на ваш компьютер. Это защитный ход для вашего ПК, поскольку вы можете четко знать некоторую информацию об издателе программного обеспечения, времени выпуска и т. Д.
Как отключить проверку подписи драйверов?
Нажмите кнопку «Перезагрузить», чтобы перезагрузить компьютер и открыть экран «Параметры запуска». Введите «7» или «F7» на экране «Параметры запуска», чтобы активировать параметр «Отключить принудительное использование подписи драйверов». Ваш компьютер загрузится с отключенным принудительным использованием подписи драйверов, и вы сможете установить неподписанные драйверы.
Как включить подпись драйвера?
Вариант 1 — Команда на включение или отключение
Как установить драйвер без цифровой подписи для Windows 7?
На правой панели дважды щелкните Подписывание кода для драйверов устройств. В открывшемся окне выберите «Включено». В базовых параметрах выберите Игнорировать. Это отключает подписывание драйверов в Windows 7 или Vista, и теперь вы можете устанавливать неподписанные драйверы.
Как принудительно установить драйвер?
Чтобы установить драйвер вручную, необходимо сделать следующее:
Что это значит, если у драйвера нет цифровой подписи?
Обычно появляется сообщение об ошибке: Windows требуется драйвер с цифровой подписью, а это означает, что Windows требуется драйвер, проверенный центром подписи. В частности, поставщики подписывают драйверы, чтобы гарантировать их целостность и убедиться, что файл не был изменен каким-либо образом.
Как узнать, отключено ли принудительное использование подписи драйверов?
Щелкните Дополнительные параметры. Щелкните Параметры запуска. Щелкните «Перезагрузить». На экране «Параметры запуска» нажмите 7 или F7, чтобы отключить принудительное использование подписи драйверов.
Как отключить принудительное использование подписи драйверов?
Нажмите и удерживайте клавишу Shift на клавиатуре и нажмите кнопку «Перезагрузить». Выберите «Устранение неполадок»> «Дополнительные параметры»> «Параметры запуска» и нажмите кнопку «Перезагрузить». Когда ваш компьютер перезагрузится, вы увидите список опций. Нажмите F7 на клавиатуре, чтобы выбрать Отключить принудительное использование подписи драйверов.
Какая команда отключает принудительное использование подписи драйверов?
Вы можете попробовать следующие шаги, чтобы отключить принудительное применение подписи драйверов: Метод 1. Откройте командную строку (администратор), щелкнув правой кнопкой мыши кнопку «Пуск». Затем введите команду: bcdedit / set testsigning off.
Как включить тестовое подписание?
Вы хотите проверить, подписаны ли ваши драйверы цифровой подписью?
Безопасно использовать. Если драйвер был изменен или изменен каким-либо образом, подпись становится недействительной, и тогда драйвер не подписывается. Неподписанные драйверы считаются потенциально вредоносными. Для обеспечения безопасности всей вашей системы Microsoft рекомендует использовать только подписанные драйверы.
Как установить неподписанные драйверы в Windows 10?
Самый простой способ установить неподписанные драйверы — использовать меню расширенной загрузки Windows 10. Для этого нажмите «Win + X», перейдите к «Завершение работы», а затем «Shift + левый щелчок» для параметра «Перезагрузка». 2. Вышеупомянутое действие перезапустит вашу систему и перенесет вас в меню Advanced Boot.
Как включить драйверы без цифровой подписи?
Windows — разрешение установки неподписанных драйверов без предупреждения
Как включить цифровую подпись в Windows 7?
Почему у Microsoft есть драйверы с цифровой подписью?
При установке устройств Windows используются цифровые подписи для проверки целостности пакетов драйверов и идентификации поставщика, предоставляющего пакеты драйверов. … Для необновленных свежих установок потребуются драйверы, подписанные Microsoft.
Источник
Как известно в х64 битных платформах была введена процедура обязательной цифровой подписи всего того, что может попасть в ядро системы, а именно драйверов. О том, на сколько это эффективно и оправданно можно долго спорить, но только одно можно сказать точно — гимора разработчикам тут определенно добавилась, особенно тем, кто раньше никогда подписями не занимался. Также для многих стало крайне не очевидно, каким образом разрабатывать драйвер, когда нет на руках валидного сертификата, а тестировать ведь как-то надо. Вот сча я попытаюсь в краткой и доступной форме рассказать о том как это все делается.
Итак, прежде всего, я бы хотел выделить два типа сертификатов, которые я буду рассматривать в рамках данной статьи — тестовый и настоящий. Разница состоит в том, что настоящий сертификат подписан доверенным CA (Certification Authorities — доверенный издатель), типа VeriSign, GlobalSign ну или самим Microsoft, а тестовый подписан самопальным сертификатом типа от Васи Пупкина.
Тестовый сертификат
Как вы уже наверное догадались, именно с помощью этого типа сертификата можно спокойно разрабатывать драйвер, не имея на руках настоящего, но все не так просто, прежде чем его использовать надо проделать некоторые унылые и мудреные мероприятия:
- Сгенерить сам сертификат и установить его. Это можно сделать с помощью тулзы makecert, например так:
Makecert -r -pe -ss PrivateCertStore -n "CN=TestCertforWDK" TestCert.cer
где
PrivateCertStore — название хранилища
TestCertforWDK — название самого сертификата
TestCert.cer — имя файла с сертификатом
(эта тулза входит в комплект WDK 6000/6001 и расположена bin/SelfSign, в WDK 7600 она почему то не входит…) - Добавить этот сертификат в хранилище с доверенным корневыми CA. Открываем в mmc консоль Сертификаты (Run->mmc->File->Add/Remove Snap-in->Certificates) там находим свой сертификат (например в хранилище PrivateCertStore), копируем его в доверенные корневые издатели (Trusted Root Certification Authorities).
- Разрешить тестовые подписи. Для этого прописываем в администраторской консоли:
bcdedit.exe –set TESTSIGNING ON
и перезагружаемся, в итоге на десктопе, после перезагрузки, по углам красоваться соответствующие надписи.
Настоящий сертификат
Тут тоже не все так просто. Дело в том, что не любой CA может выдавать сертификаты для подписи драйверов Windows, а только те, которые авторизованы самой Microsoft, это значит, что корневые сертификаты этих издателей должны быть подписаны Microsoft — что, как раз и выражается в виде этого кросс-сертификата. Вот именно из-за отсутствия кросс-сертификата — тестовая подпись, никогда не будет работать как настоящая. Список доверенных CA, которые обладают такими кросс-сертификатами — представлен тут, там же можно скачать и сами кросс-сертификаты.
После того, как вы выложите несколько сотенок $$$ доверенному центру сертификации, они выдадут вам .pfx файл в котором будут содержаться публичный и приватный ключи. Вы его запустите и с помощью нехитрого диалога (как на рисунке ниже), установите в систему.
Подпись драйвера
Процесс подписи для тестового и настоящего сертификата во многом похожи, различия состоят лиш в том, что:
- для тествой подписи не нужен кросс-сертификат
- для тествой подписи можно не делать таймстамп
Итак приступим
- Качаем тулзу для подписи — signtool (тоже входит в комплект WDK6000/6001)
- Подписываем, с тестовым сертификатом:
signtool sign /v /s PrivateCertStore /n "TestCertforWDK" driver.sys
где
PrivateCertStore — имя хранилища
TestCertforWDK — имя тестового сертификата
driver.sys — имя драйверас настоящим сертификатом:
signtool sign /v /ac MSCV-GlobalSign.cer /s PrivateCertStore /n "YourTrueCertName" /t http://timestamp.globalsign.com/scripts/timstamp.dll driver.sys
где
MSCV-GlobalSign.cer — имя кросс-сертификата
YourTrueCertName — имя настоящего сертификата
timestamp.globalsign.com/scripts/timstamp.dll — адрес таймстампингового центра, в моем случае global sign
Далее драйвер можно установить программно с помощью специальных АПИ либо с помощью замечательной тулзы KmdManager.
Подпись пакета драйверов
В реальной жизни подписи самого драйвера оказывается недостаточно, дело в том, что драйвера устройств как правило поставляются в комплекте с inf-файлом, в котором содержится информация о драйвере и устройствах которые он обслуживает. В этом случае необходимо будет сгенерить cat-файл, который содержит в себе инфу о всех файлах пакета, а потом подписать его точно также, как подписывали драйвер.
Для генерации cat-файла и его подписи нам понадобится:
- Корректный inf-файл (запасайтесь бубнами ребятки)
- Тулза которая генерит этот cat-файл из inf-файлов — inf2cat (эта тулза входит в комплект WDK6001/7600, и написана, как не странно, на .NET)
- После чего генерим cat-файл, например так
inf2cat.exe /driver:releaseamd64 /os:Vista_x64,Server2003_x64,Server2008_x64
где
releaseamd64 — папка в которой находится inf-файл и драйверы
Vista_x64,Server2003_x64,Server2008_x64 — список ОС, на которых должен работать драйвер - Подписываем его точно также, как и драйвер
signtool sign /v /ac MSCV-GlobalSign.cer /s PrivateCertStore /n "YourTrueCertName" /t http://timestamp.globalsign.com/scripts/timstamp.dll catalog.cat
сам драйвер при этом подписывать не обязательно. - Проверяем, что все хорошо подписалось, для этого открываем свойство .cat файла (или драйвера) и смотрим вкладку Digital Signatures — если есть то можем полюбоваться на результат, если нет, то где-то накосячили.
Также более достоверно можно проверить с помощью командной строки
signtool verify /pa /v /c catalog.cat
EasySign
В результате всех моих исследований на предмет САБЖ-а, я некатал по-быстрому простенькую программку EasySign, которая может подписывать дрова без дополнительного гимора с командной строкой и bat-файлами. Возможно кому-то будет полезно.
Саму прогу можно скачать тут, а мануалку почитать ниже:
- Вбиваем в Inf Dir путь к папке где лежит сам .inf файл и все необходимые файлы к нему прилагающиеся.
- Выбираем ОСи где работает драйвер.
- Cross Cert — указываем путь к кросс-сертификату, если нужно подписать драйвер по-настоящему
- Cert Store — названия хранилища, где лежит наш сертификат (например PrivateCertStore)
- Cert Name — название сертификата (например TestCertforWDK), если сертификат один в хранилище, то можно и не заполнять это поле.
- Time Stamp — адрес таймстампингового центра, для тестового сертификата — можно оставить пустым
- Файлы которые надо подписать, тут нужно обязательно добавить cat файл (если еще не создан, то прописать его имя вручную), а также можно добавить все файлы драйверов
- Generate Catalog Only — если подписывать не надо, а только создать .cat файл
- Жмем Sign — чтобы создать cat-файл и подписать, жмем Log — чтобы почитать что произошло, часто бывают ошибки, например неправильно составлен inf-файл, либо signtool чего-то не нашел и т.п.
Литература по теме
http://msdn.microsoft.com/en-us/library/ff544865(VS.85).aspx