Как подписать драйвер Windows 10, 8.1 и Windows 7 x64 и x86
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 Files\Microsoft SDKs\Windows\v7.1\bin"
makecert -r -sv C:\cert\driver.pvk -n CN="remontka" C:\cert\driver.cer
cert2spc C:\cert\driver.cer C:\cert\driver.spc
pvk2pfx -pvk C:\cert\driver.pvk -pi password -spc C:\cert\driver.spc -pfx C:\cert\driver.pfx -po password
- До этого этапа всё должно пройти как на скриншоте ниже, командную строку не закрываем.
- В папке C:\cert создайте вложенную папку, например, drv и поместите туда свои файлы драйвера. Но: если вам требуется драйвер только для x64, не копируйте .inf файл для x86 систем в эту папку и наоборот. В командной строке используем следующие команды:
cd C:\WinDDK\7600.16385.1\bin\selfsign\
inf2cat.exe /driver:"C:\cert\drv" /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:\cert\drv\catalog.cat. Далее используем следующие команды (требуется подключение к Интернету).
cd "C:\Program Files\Microsoft SDKs\Windows\v7.1\bin"
signtool sign /f C:\cert\driver.pfx /p password /t http://timestamp.verisign.com/scripts/timestamp.dll /v C:\cert\drv\catalog.cat
- Результат подписи файла драйвера без ошибок на скриншоте ниже. Следующий шаг — добавить самоподписанный сертификат в список доверенных в системе, сделать это можно следующими двумя командами по порядку
certmgr.exe -add C:\cert\driver.cer -s -r localMachine ROOT certmgr.exe -add C:\cert\driver.cer -s -r localMachine TRUSTEDPUBLISHER
- В результате вы должны получить сообщение «CertMgr Succeeded». Если Failed или certmgr.exe не является внутренней или внешней командой — убедитесь, что командная строка запущена от имени администратора, а вы находитесь в нужной папке (см. 15 шаг).
И вот теперь можно закрыть командную строку и установить драйвер из папки C:\cert\drv с помощью диспетчера устройств, или нажав правой кнопкой по .inf файлу и выбрав пункт «Установить». Потребуется подтвердить установку драйвера в окне «Не удалось проверить издателя этих драйверов» — нажать «Все равно установить этот драйвер».
Обратите внимание, что возможные ошибки в диспетчере устройств, отображаемые для устройства с самостоятельно подписанным драйвером обычно не имеют отношения непосредственно к процессу подписи (та же ошибка для них будет появляться и без подписи, при простом отключении проверки цифровой подписи драйверов в особых вариантах загрузки). Т.е. искать причину в этом случае нужно в чем-то ещё и читать подробную инструкцию по использованию драйвера (например, в случае драйверов для FlashTool).
Владимир
У меня драйвер lowcdc.inf; lowcdc.sys на 10 шаге выдает две ошибки:
22.9.10: usbser.sys in driverinstall.ntamd64.copyfiles is missing from Source Disks Files section in \lowcdc.inf; driver may not sign correctly until this is resolved.
22.9.10: lowcdc.sys in driverinstall.ntamd64.copyfiles is missing from Source Disks Files section in \lowcdc.inf; driver may not sign correctly until this is resolved.
Помогите исправить ошибку.
Ответить
Dmitry
Здравствуйте. в lowcdc.inf ищем раздел Source Disks Files
Туда дописываем строки
usbser.sys = 1
lowcdc.sys = 1
Но может и не сработать. Тут бы еще посмотреть целиком ваш inf.
Ответить
Саша Елькин
Такая же проблема. Раздела Source Disks Files в файле inf нет.
Ответить
Dmitry
Дописать вручную.
Вот документация:
docs.microsoft.com/en-us/windows-hardware/drivers/install/inf-sourcedisksfiles-section
Плюсом примеры можете в других inf файлах от других драйверов посмотреть, как именно оно там прописывается.
Ответить
Алексей
Этот метод не работает для драйверов boot режима. Все равно придется включать опцию отключения обязательной проверки цифровой подписи драйверов BCD.
Ответить
Руслан
Здравствуйте. На 17 пункте Signtool error : file not fond : c:\cent\driver.pfs
его действительно нет, но есть driver.pfx
Ответить
Dmitry
Здравствуйте. Используйте pfx, опечатка в статье (на скриншоте правильная команда). Сейчас исправлю, спасибо.
Ответить
Руслан
Спасибо, всё удачно получилось.
Ответить
Тимур
Здравствуйте. Подписал драйвер на Windows 7 Ultimate x64 используя данную инструкцию, всё прошло успешно, подпись стоит. Пытаюсь установить на Windows 10 1809, не видит, поначалу, вроде, видел, потом перестал, но это не точно, может изначально не видел. На других компьютерах с Windows 7 и Windows 8 подпись видна при установке драйвера, а на 10ке нет. Сертификаты все стоят. Что может быть, почему подпись при установке драйвера не показывается?
Ответить
Михаил
Для Windows 10 1909 все выше программы не устанавливаются!
Ответить
Dmitry
А что происходит при установке?
Ответить
Михаил
Microsoft Windows SDK for Windows 7 вот эта не ставится!
Ответить
Dmitry
А что именно сообщает при установке? Должна ставиться без проблем (проверил — Win 10 1909 Pro x64)
Ответить
Александр
Мне помогло удаление всех Microsoft Visual C++ 2010 Redistributable
Ответить
Rico Bek
При установке Windows Driver Kit 7.1.0 показывает окошку и сразу исчезает, дает ошибку:
KitSetup Runtime Initialization Error! (Code: 0x0018)
Unable to determine the current Windows OS SKU.
и.т.д.
Ответить
Компьютерщик
Доброго времени суток. Не знаю в тему ли, но все же. Драйвера 64 битные под 7 ку и 8 ку есть, но нет под десятку,
7 ка не ставится на ноут, к слову асус x509fa,. Есть ли возможность преобразовать, адаптировать, подписать или как то еще под вин10?
Благодарю….!
Ответить
Dmitry
Здравствуйте.
Драйверы под 8-ку почти всегда отлично ставятся на 10-ку и никаких дополнительных действий производить не нужно.
Если вдруг там установщик включает в себя проверку версии операционной системы (т.е. он проверяет типа: не 8-ка, не буду ставиться, напишу, что не поддерживаю), то можно установщик драйвера распаковать чем-то вроде Universal Extractor и потом поставится (там внутри окажутся еще файлы установки или просто файлы драйвера для установки через диспетчер устройств).
Ответить
Компьютерщик
Спасибо за совет. Будем экспериментировать. Так_то 10 ка увидела в устройствах и название устройства распознала, но драйвера отказалась устанавливать.
Ответить
Компьютерщик
Здравствуйте. Продолжаю изыскания, хочется обойти тот сложный метод, который ранее Вам показывал, …
Указанный Вам метод в этой статье, предполагает переделку драйверов 7ки 64бит под 10 ку?
Ответить
Dmitry
Там в методе есть правка файлов DLL с драйверами видео Intel в HEX-едиторе, потом подписывание. Но что именно они там правят — не знаю).
Или вы именно про метод описанный сверху? Если так, нет, не предполагает, но исходит из того, что в 90% случаев драйверы от 7 (и даже часто от Vista) работают в 10-ке.
Ответить
Компьютерщик
Ранее писал, что ..
Драйвера 64 битные под 7 ку и 8 ку есть, но нет под десятку, этот вариант не прошел,
8ку поставил, но медустройство, подключенное к нему, не заработало. Пытаюсь поставить 7ку, потому что драйвера только под нее , прецеденты есть.
Поискал и вот,что нашел. Видео youtube.com/watch?v=1Yyr1zuFiYk
Автор не выставил свой гайд, ссылаясь на отсутствие времени. А вот один из пользователей сделал. Ссылка на его инструкцию.
reboot.pro/topic/21991-windows-7-install-issues/page-3#entry211091
А также.
forum.notebookreview.com/threads/guide-how-to-install-windows-7-x64-on-acer-spin-5-laptop.829379/
Тут он расписал:
pastebin.com/d4hN4ih0
Квинтэссенция вышеизложенного-
drive.google.com/file/d/1MbQJh9-aUA7OScMjtwuGruaJk80DsTWT/view
Думаю сами понимаете, изложенный материал не для обывателя.
Ваше мнение.
Забыл , видео
youtube.com/watch?v=-0xqUoHUVAo
Ответить
Компьютерщик
Вся соль вот тут.
Но где это осуществить и чем?
If your MB supports CSM, install Windows 7 with CSM enabled but select «UEFI» as boot device and install Windows 7 normally. After all the updates and drivers are installed. you can remove the standard VGA drivers and boot without CSM. That’s the script i used to remove it automatically:
rem disable vga.sys 640×480 16 colors
rem ren %SystemRoot%\system32\drivers\vga.sys *.off
set Services=HKLM\SYSTEM\CurrentControlSet\Services
reg.exe add «%Services%\Vga» /f /t REG_DWORD /v «Start» /d 4
reg.exe add «%Services%\VgaSave» /f /t REG_DWORD /v «Start» /d 4
rem disable VGA at bootmgr
bcdedit.exe /set {current} bootlog yes
bcdedit.exe /set {current} bootstatuspolicy IgnoreAllFailures
bcdedit.exe /set {current} novesa on
bcdedit.exe /set {current} quietboot on
Пытались батником, но парировали —
you have to run all these commands separately
Ответить
Dmitry
а на каких командах парировали? bcdedit или раньше? По идее всё должно бы выполниться успешно, но… в крайнем случае, можно ведь и separately набить по одной в cmd без задания переменных и комментариев)
Ответить
Компьютерщик
Cmd -ом. Это выдержка из ютюба.
Ответить
Dmitry
Мнения как такового нет: выглядит логично (кратко глянул видео, внимательнее — pastebin), но вообще тут масштабный эксперимент требуется.
Ответить
Виталий
Где взять pvk-файл?
Ответить
Dmitry
Создадим на 4-м шаге.
Ответить
Иван
Здравствуйте.
Необходимо было подписать драйвер для устройства. Все сделал как в статье, все команды отработали правильно, при установке устройства все равно висит код 52. При этом владелец цифровой подписи во вкладке драйвер появился, при перезагрузке компьютера с отключением проверки цифровой подписи устройство начинает работать. ОС Windows 10 Pro c последними обновлениями. WDK и Windows SDK ставил как те, что по вашим ссылкам, так последние 10.0.18362.0, пробовал создавать файл .cat под разные os — 7_x86, 7_x64, 10_x86, 10_x64, XP_86, XP_64.
Что может быть не так?
Ответить
alex
Скажите пожалуйста у меня winXP x86 и Win10 x64 1909 могу я на win XP установить инструменты и подписать драйвер для Win10x64 и на Win10x64 кроме драйвера нужно ещё сертификат ставить или ещё что?
Я начал делать и на первой строке пишет «не найден путь»
Ответить
Dmitry
Вот тут не знаю. Он отработать-то должен в XP, но допускаю, что не та разрядность может вызвать проблемы.
Ответить
Alex
Установил на WinXP инструменты, выполнил все пункты, catalog.cat. создан, Экран командной строки на финише такой же. Взял драйвер пытался поставить на Win 10 1909 и всё равно ругается на не подписанный драйвер и выдаёт ошибку при ручной установке в диспетчере устройств, Что не так?
Всё таки можно найти способ постоянной! отключки проверки подписи именно для Win 10 1909?
Ответить
Alex
В Win 10 1909 При открытии catalog.cat из драйвера подписанного в WinXP, пишет сертификат этого каталога недействителен. Предположу что сертификат — файл с расширением *.cer, находиться на WinXP где подписывался драйвер. Видимо есть список Корневых сертификатов где есть мой кросс-сертификат. Он и должен быть установлен на Win 10 1909, в Доверенные корневые центры сертификации на устройстве, на котором устанавливается драйвер подписанный ЦП. Если так как это сделать, то есть перенести сертификат на Win 10 1909?
Ответить
Alex
Пытался установить др-р, перенёс на Win 10
экспортировал сертификат в доверенные корневые центры сертификации в текущего пользователя и локальный комп
при открытии каталога.cat Пишет: «Этот сертификат действителен..»
Подписавший: Symantec Time Stamping Services Signer — G4
Издатель: Symantec Time Stamping Services CA — G2
сертификат действителен до 30 декабря 2020 г.
При установке драйвера, на подпись уже не ругался, но в конце установки:
«Не удается проверить цифровую подпись драйверов, необходимых для данного устройства. При последнем изменении оборудования или программного обеспечения могла быть произведена установка неправильно подписанного или поврежденного файла либо вредоносной программы неизвестного происхождения. (Код 52)»
В чём проблема и что делать?
Ответить
Dmitry
Здравствуйте.
Такое может быть с подписанными подобными методами сертификатами драйверов на Windows 10 новее версии 1607 при включенном Secure Boot в UEFI (в этом случае сейчас все драйверы должны быть Microsoft подписаны).
Ответить
Александр
А где эту папку взять C:\WinDDK\7600.16385.1\bin\selfsign\ ?
Ответить
Dmitry
Будут после установки компонентов из первой части инструкции.
Ответить
KJIATO
snp2cp98.inf does not have NTAMD64 decorated model sections.
22.9.6: DriverVer missing or in incorrect format in snp2cp98.inf
snp2mic98.inf does not have NTAMD64 decorated model sections.
пишет такую ошибку
Ответить
Dmitry
Искать раздел DriverVer в указанном файле и править в текстовом редакторе так, чтобы он был правильным (можно подсмотреть в файлах других драйверов, как именно он там прописывается).
Ответить
_AsH_
Здравствуйте! А нет какой нибудь программы чтобы сама подписывала драйвера ?
Ответить
BohLER
Помогло, спасибо. У меня сканер ColorPage-HR6X Slim дрова хп и виста только нашел, без подписи. Единственное Microsoft Windows SDK и Windows Driver Kit 7.1.0 пришлось новые качать, эти не установились, у меня вин 10 про 64 (docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk). Потом inf2cat.exe лежал в папке C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86 . т.е. в х64 его не было. Из-за кучу времени потерял переустанавливая разные версии, пока поиск по компу не поставил)
Ответить
Lex
камера A4tech PK5 старая, дрова работали только в тест режиме винды без подписи дров. Выше описанный метод не исправил ошибку «Не удается проверить цифровую подпись драйверов, необходимых для данного устройства. При последнем изменении оборудования или программного обеспечения могла быть произведена установка неправильно подписанного или поврежденного файла либо вредоносной программы неизвестного происхождения. (Код 52)».
Камера то хорошая, рабочая…. но мелкомягкие заставляют меня раскошелиться на новую вебку, что печально. отключение Secure Boot в биосе тоже не помогло….
Ответить
FEDOR
проблема такая, есть файл igdumdim32.dll, и в свойствах у него написано что он не проше проверку подписи, из за этого не запускаются некоторые приложения. Помогие
Ответить
Dmitry
Здравствуйте.
Предполагаю, что у вас какая-то игра сообщила о том, что нет этого файла, вы его где-то скачали с «левого» сайта, а по факту там оказался не тот файл, просто название такое.
Вообще — это файл часть драйвера Intel HD Graphics, а потому решение — удалить тот, что вы скачали (если я прав) и вручную установить официальные драйверы на видеокарту Intel.
Ответить
Kirill
Здравствуйте. На п.10 ошибок нет, но есть вот такие предупреждения. С этим надо бороться или можно оставить так и продолжать?
Warnings:
22.9.10: cfadisk.sys in [cfadisk_copyfiles] is missing from [SourceDisksFiles] section in \cfadisk.inf; ok if file source is provided via LayoutFile in [Version].
22.9.10: disk.sys in [gendisk_copyfiles] is missing from [SourceDisksFiles] section in \cfadisk.inf; ok if file source is provided via LayoutFile in [Version].
Ответить
Dmitry
Здравствуйте.
Проверьте, есть ли указание на файлы cfadisk.sys и disk.sys в разделе Version в файле cfadisk.inf. Если есть там, то всё ок.
Ответить
Kirill
Вот весь раздел.
[Version]
Signature=»$Windows NT$»
Class=DiskDrive
ClassGuid={4D36E967-E325-11CE-BFC1-08002BE10318}
Provider=%HGST%
LayoutFile=layout.inf
DriverVer=08/11/2017,9.9.9.9
CatalogFile=catalog.cat
Ответить
Dmitry
Тогда нет, не прокатит.
Решение — добавить эти файлы, но не в Version, а в раздел SourceDisksFiles
Синтаксис по идее такой будет:
[SourceDisksFiles]
cfadisk.sys = НОМЕР_ДИСКА_ИЗ_РАЗДЕЛА_SOURCE_DISK_NAMES
disk.sys = НОМЕР_ДИСКА_ИЗ_РАЗДЕЛА_SOURCE_DISK_NAMES
Ответить
Евгений
Драйвер подписал… Даже скрипт написал (*.bat)… Но в свойствах устройства пишет «Не удается проверить цифровую подпись драйверов, необходимых для данного устройства. При последнем изменении оборудования или программного обеспечения могла быть произведена установка неправильно подписанного или поврежденного файла либо вредоносной программы неизвестного происхождения. (Код 52)»
Windows 10 Pro. Выпуск 2004. Сборка 19041.572
1. Что делать?
2. Можно ли подпись из одного драйвера перенести в другой?
Ответить
Dmitry
Здравствуйте.
Рецепта у меня нет. Может оказаться, что особенность драйвера (как в последнем абзаце статьи).
Ответить
vadim
здравствуйте.
тормознулся на п.14. выдает ошибку: 22.9.12: INF file (\имяФайла.inf) cannot be copied to %windir%\inf»
что делать.
Ответить
Dmitry
Здравствуйте. а командная строка от администратора работает?
Ответить
vadim
да, работает. все выполнял в ком.строке под администратором.
Ответить
Денис
Добрый день, как быть, если у меня в SDK нет функции makecert? win10, драйвер для ASUS XONAR AE звуковой карты
Ответить
Dmitry
А если SDK 7.1 версии поставить?
Ответить
Андрей
Добрый день! На 10 шаге пишет: «Unable to create the indirect data (C:\Users\AND\AppData\Local\Temp\WST\e0362b48-a628-4032-a0ec-c8440f8129ca\002).
Signability test failed.» У меня Win10 1903, поставил WinDDK 7600.16385.1, ком.строка под админом.
Как с этим бороться ?
Ответить
Dmitry
с такой ошибкой не сталкивался. вообще текст её в переводе: «тест возможности подписывания провален»..
Ответить
Фёдор
Пробую подписать кастомный драйвер для старой встройки intel, и у меня очень похожая ошибка, только путь немного другой. По точному поиску только ваш комментарий гугл и выдаёт..
Ответить
Наталья
Добрый день.
Срезалась на шаге 6. После ввода команды выдало ошибку:
ERROR: password incorrect or PVK file corrupted.
(Error code = 0x80090005)
Копировала в точности ваши команды. Вижу в папке 3 свежесозданных файла, в том числе driver.pvk
Ответить
Никита
На 16 шаге выдало ошибку
The following certificate was selected:
Issued to: remontka
Issued by: remontka
Expires: Sun Jan 01 04:59:59 2040
SHA1 hash: 35D971348C509E2F835394816F125428A3A4B85B
Done Adding Additional Store
SignTool Error: An unexpected internal error has occurred.
Error information: «SignerTimeStamp() failed.» (-2147012865/0x80072eff)
Проигнорировал ее, закончил инструкцию и драйвера почему-то все равно установились, спасибо.
Ответить
Dmitry
Здравствуйте.
Ошибка похоже говорит о том, что не удалось получить временную метку, возможно интернет был отключен или по какой-то другой причине не было доступа к сайту, указанному в команде.
Ответить