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

Дмитрий Корнев
22 января 2009

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

Переломным моментом стал выход пакета обновления 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:\Windows\System32\Drivers, то вам необходимо указать C:\Windows\System32\Drivers\ATITool64.sys.

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

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

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

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

Странный сайт этот ngohq.com. Кликаю по ссылкам, но загрузка файлов так и не начинается. Может это у меня только так? Поэтому ссылка загрузки добавил прямо в текст.
Co
у меня лиса тоже качать не хотела, а сейчас все нормально. Видимо какие-то проблемы на сайте были, с кэшем например.
kx
у меня такая же трабла
su
Блин, у меня чет Win7 x64 не хочет открывать и вообще скачивать этот файл, что делать?? Помогите пожалуйста оч надо...
Теперь в публикации прямая ссылка на файл.
al
а как тут подписатся
as
у меня Win7 32х битная и ошибку выдоет (С0000002) Х.З. что делат хеееелп ми!!!
ДК
Пробовал подписать драйвер виртуальной сетевой карты TAP Win32 adapter v9. Программа пишет, что драйвер подписан успешно, однако после перезагрузки ничего не меняется и в диспетчере устройств драйвер без подписи. Проблема в том, что он виртуальный или в чем-то другом? MS Windows 7 Home Premium 64-bit (7600) SP1 (лицензия)