Driver verifier как пользоваться

Обновлено: 04.07.2024

Когда происходит сбой Windows с синим экраном, это означает, что либо один из компонентов вашего компьютера (HDD, RAM, VGA) неисправен, либо установленная программа или драйвер устройства несовместимы или повреждены. По первой причине и чтобы определить, исправны ли ваши основные аппаратные компоненты (HDD и RAM), я написал следующие уроки:

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

Where can I download Driver Verifier?

You don't need to download Driver Verifier, because it is included with most versions of Windows in %WinDir%\system32\ as Verifier.exe. (Driver Verifier is not included with Windows 10 S, so we recommend testing driver behavior on Windows 10 instead.) Driver Verifier is not distributed separately as a download package.

For information about changes in Driver Verifier for Windows 10 and previous versions of Windows, see Driver Verifier: What's New.

When to use Driver Verifier

Run Driver Verifier throughout development and testing of your driver. More specifically, use Driver Verifier for the following purposes:

To find problems early in the development cycle, when they are easier and less costly to correct.

For troubleshooting and debugging test failures and computer crashes.

To monitor behavior when you deploy a driver for testing using the WDK, Visual Studio, and the tests from the Windows Hardware Lab Kit (Windows HLK) or Windows Hardware Certification Kit (for Windows 8.1). For more information about testing drivers, see Testing a Driver.

Как использовать Driver Verifier для обнаружения неисправных драйверов устройств в Windows.

Важные заметки: Перед включением верификатора драйвера выполните следующие действия:

1. Создайте точку восстановления системы.
2. Если вы используете Windows 10, 8 или 8.1, включите меню «Дополнительные параметры загрузки» F8, чтобы легко запустить систему в Безопасный режим, если Windows не может загрузиться.

Шаг 1. Включите проверку драйверов.

Чтобы включить верификатор драйверов в вашей системе:

как проверить драйвер

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

Диагностика неисправных драйверов

4. На экране «Выбор отдельной настройки из этого полного списка» проверьте только следующее:

1. Специальный бассейн
2. Принудительная проверка IRQL
3. Отслеживание бассейна
4. Обнаружение тупика
5. Проверки безопасности
6. Проверка соответствия DDI
7. Разные чеки

5. Когда закончите, нажмите следующий.

Узнайте, какой драйвер вызывает сбой Windows

6. Затем выберите имя водителя из списка и нажмите Следующий.

как использовать диспетчер проверки драйверов

7. Сортировать по провайдера название.
8. Выберите все драйверы сторонних производителей из списка и нажмите финиш. *

* Примечание: прокрутите список вниз, чтобы просмотреть и выбрать все драйверы не MS.

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

9. щелчок хорошо а потом перезапуск твой компьютер.
10. После перезагрузки работайте на своем компьютере в обычном режиме. *

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

11. Оставьте проверяющий водителя включенным как минимум на 24 часа. В течение этого периода, если один из установленных драйверов не работает должным образом, проверка драйверов приведет к сбою системы с синим экраном. Когда это происходит, отключите проверку драйверов, а затем перейдите к разделу «Узнайте, какой драйвер вызвал сбой вашей системы». (Шаг 2)

Чтобы отключить проверку драйверов.

проверить драйверы Windows

3. На первом экране следующего экрана выберите Удалить существующие настройки и нажмите Финиш.
4. Затем нажмите да (чтобы сохранить изменения) и хорошо а потом перезапуск твой компьютер.

диагностировать драйверы windows

Шаг 2. Узнайте, какой драйвер вызывает сбой вашей системы.

1. Загрузите бесплатную утилиту BlueScreenView от NirSoft в соответствии с вашей версией ОС (32 или 64-разрядная версия). *
* Примечание: Вы можете загрузить даже полную версию программы установки или Portable.

2. открыто BlueScreenView. Программа автоматически покажет список всех записанных сбоев синего экрана, проанализировав файлы DUMP. (Файлы .DMP).

образ

3. Чтобы выяснить, какой драйвер вызывает сбой вашей системы, просто дважды щелкните последний файл DUMP на верхней панели (обычно это первый в списке), и вы увидите имя неисправного драйвера устройства (xxxxxx.sys). *

* например На приведенном ниже экране неисправным драйвером устройства является «igdkmd64.sys», принадлежащий графическому адаптеру Intel HD.

bluescreenvew

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

Это оно! Дайте мне знать, если это руководство помогло вам, оставив свой комментарий о вашем опыте. Пожалуйста, любите и делитесь этим руководством, чтобы помочь другим.

How to start Driver Verifier

You should only run Driver Verifier on test computers, or on computers that you are testing and debugging. To get the most benefit from Driver Verifier, you should use a kernel debugger and connect to the test computer. For more information about debugging tools, see Debugging Tools for Windows (WinDbg, KD, CDB, NTSD).

Start a Command Prompt window by selecting Run as administrator, and type verifier to open Driver Verifier Manager.

Select Create standard settings (the default task), and select Next.

You can also choose Create custom settings to select from predefined settings, or to select individual options. For more information, see Driver Verifier options and rule classes and Selecting Driver Verifier Options.

Under Select what drivers to verify, choose one of the selection schemes described in the following table.

Useful for testing on computers that are running versions of Windows that do not require signed drivers.

Useful for testing driver compatibility with newer versions of Windows.

Provides maximum coverage in terms of the number of drivers that are tested on a system. This option is useful for test scenarios where a driver can interact with other devices or drivers on a system.

This option can also exhaust the resources available for Special Pool and some resource tracking. Testing all drivers can also adversely affect system performance.

In most cases, you will want to specify which drivers to test.

Selecting all drivers in a device stack allows the Enhanced I/O Verification option to track objects and check compliance because an I/O request packet (IRP) is passed between each of the drivers in the stack, which allows for a greater level of detail to be provided when an error is detected.

Select a single driver if you are running a test scenario that measures system or driver performance metrics, or if you want to allocate the greatest number of resources available for detecting memory corruption or resource tracking issues (such as deadlocks or mutexes). The Special Pool and I/O Verification options are more effective when used on one driver at a time.

If you chose Select driver names from a list, select Next, and then select one or more specific drivers.

Select Finish, and then restart the computer.

You can also run Driver Verifier in a Command Prompt window without starting Driver Verifier Manager. For example, to run Driver Verifier with the standard settings on a driver called myDriver.sys, you would use the following command:

For more information about command line options, see Driver Verifier Command Syntax.

Как подписать драйвер в Windows x64 10/8.1/7 с помощью самоподписанного сертификата

date

16.10.2018

directory

Windows 10, Windows 7, Windows 8

comments

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

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

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

Сегодня мы покажем, как можно самостоятельно подписать любой неподписанный драйвер для 64 битной версии Windows 10 или Windows 7.

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

Pnputil –a "C:\tools\drv1\xg20gr.inf"

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

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

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

В Windows 10 такое предупреждение даже не появляется, а в консоли появляется предупреждение, что в стороннем INF файле отсутствует информация о цифровой подписи.

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

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

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

The third-party INF does not contain digital signature information.

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

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

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

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

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

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

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

inf2cat.exe /driver:"C:\DriverCert\xg" /os:7_X64 /verbose

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

Signability test complete .
и
Catalog generation complete .

Совет. В моем случае команда Inf2Cat.exe вернула ошибку:

Signability test failed.

22.9.7: DriverVer set to incorrect date (must be postdated to 4/21/2009 for newest OS) in \hdx861a.inf

DriverVer set to incorrect date (must be postdated to 4/21/2009 for newest OS)

Для исправления ошибки нужно в секции [Version] найти строку с DriverVer= и заменить ее на:

DriverVer=05/01/2009,9.9.9.9

После выполнения команды в каталоге драйвера должен обновиться файл g20gr.cat

How to debug Driver Verifier violations

To get the most benefit from Driver Verifier, you should use a kernel debugger and connect it to the test computer. For an overview of debugging tools for Windows, see Debugging Tools for Windows (WinDbg, KD, CDB, NTSD).

If Driver Verifier detects a violation, it generates a bug check to stop the computer. This is to provide you with the most information possible for debugging the issue. When you have a kernel debugger connected to a test computer that is running Driver Verifier, and Driver Verifier detects a violation, Windows breaks into the debugger and displays a brief description of the error.

All violations detected by Driver Verifier result in bug checks. Common bug check codes include the following:

When you start a new debugging session, use the debugger extension command, !analyze. In kernel mode, the !analyze command displays information about the most recent bug check. To display additional information, to help identify the faulting driver, add option -v to the command at the kd> prompt:

In addition to !analyze, you can enter the following debugger extensions at the kd> prompt to view information that is specific to Driver Verifier:

!verifier dumps captured Driver Verifier statistics. Use !verifier -? to display all of the available options.

!deadlock displays information related to locks or objects tracked by Driver Verifier's deadlock detection feature. Use !deadlock -? to display all of the available options.

!iovirp [address] displays information related to an IRP tracked by I/O Verifier. For example:

!ruleinfo [RuleID] displays information related to the DDI compliance checking rule that was violated. (RuleID is always the first argument to the bug check.) All rule IDs from DDI compliance checking are in the form 0x200nn. For example:

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

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

Откроем командную строку и перейдем в следующий каталог:

cd C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1\bin

Создадим самоподписанный сертификат и закрытый ключ, выданный, допустим, для компании Winitpro:

makecert -r -sv C:\DriverCert\myDrivers.pvk -n CN="Winitpro" C:\DriverCert\MyDrivers.cer

Во время создания утилита попросит указать пароль для ключа, пусть это будет P@ss0wrd.

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

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

cert2spc C:\DriverCert\myDrivers.cer C:\DriverCert\myDrivers.spc

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

pvk2pfx -pvk C:\DriverCert\myDrivers.pvk -pi P@ss0wrd -spc C:\DriverCert\myDrivers.spc -pfx C:\DriverCert\myDrivers.pfx -po P@ss0wrd

$cert = New-SelfSignedCertificate -Subject "Winitpro” -Type CodeSigningCert -CertStoreLocation cert:\LocalMachine\My

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

$CertPassword = ConvertTo-SecureString -String “P@ss0wrd” -Force –AsPlainText
Export-PfxCertificate -Cert $cert -FilePath C:\DriverCert\myDrivers.pfx -Password $CertPassword

создать самоподписанный сертфикат для подписывания кода в Powershell

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

How to control Driver Verifier

You can use either Driver Verifier Manager or a command line to control Driver Verifier. To start Driver Verifier Manager, see How to start Driver Verifier, earlier in this topic.

For each of the following actions, you can use Driver Verifier Manager or enter a command line.

To stop or reset Driver Verifier

In Driver Verifier Manager, select Delete existing settings, and then select Finish.

Enter the following command at a command prompt:

Restart the computer.

To view Driver Verifier statistics

In Driver Verifier Manager, select Display information about the currently verified drivers, and then select Next. Continuing to select Next displays additional information.

Enter the following command at a command prompt:

To view Driver Verifier settings

In Driver Verifier Manager, select Display existing settings, and then select Next.

Enter the following command at a command prompt:

Driver Verifier

Driver Verifier monitors Windows kernel-mode drivers and graphics drivers to detect illegal function calls or actions that might corrupt the system. Driver Verifier can subject Windows drivers to a variety of stresses and tests to find improper behavior. You can configure which tests to run, which allows you to put a driver through heavy stress loads or through more streamlined testing. You can also run Driver Verifier on multiple drivers simultaneously, or on one driver at a time.

  • Running Driver Verifier could cause the computer to crash.
  • You should only run Driver Verifier on computers that you are using for testing and debugging.
  • You must be in the Administrators group on the computer to use Driver Verifier.

Установка сертификата

Т.к. созданный нами сертификат является самоподписанным, система по-умолчанию ему не доверяет. Добавим наш сертификат в локальное хранилище сертификатов. Сделать это можно с помощью команд:

certmgr.exe -add C:\DriverCert\myDrivers.cer -s -r localMachine ROOT
certmgr.exe -add C:\DriverCert\myDrivers.cer -s -r localMachine TRUSTEDPUBLISHER

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

Добавляем сертификат в доверенные

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

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

Where can I download Driver Verifier?

You don't need to download Driver Verifier, because it is included with most versions of Windows in %WinDir%\system32\ as Verifier.exe. (Driver Verifier is not included with Windows 10 S, so we recommend testing driver behavior on Windows 10 instead.) Driver Verifier is not distributed separately as a download package.

For information about changes in Driver Verifier for Windows 10 and previous versions of Windows, see Driver Verifier: What's New.

When to use Driver Verifier

Run Driver Verifier throughout development and testing of your driver. More specifically, use Driver Verifier for the following purposes:

To find problems early in the development cycle, when they are easier and less costly to correct.

For troubleshooting and debugging test failures and computer crashes.

To monitor behavior when you deploy a driver for testing using the WDK, Visual Studio, and the tests from the Windows Hardware Lab Kit (Windows HLK) or Windows Hardware Certification Kit (for Windows 8.1). For more information about testing drivers, see Testing a Driver.

How to control Driver Verifier

You can use either Driver Verifier Manager or a command line to control Driver Verifier. To start Driver Verifier Manager, see How to start Driver Verifier, earlier in this topic.

For each of the following actions, you can use Driver Verifier Manager or enter a command line.

To stop or reset Driver Verifier

In Driver Verifier Manager, select Delete existing settings, and then select Finish.

Enter the following command at a command prompt:

Restart the computer.

To view Driver Verifier statistics

In Driver Verifier Manager, select Display information about the currently verified drivers, and then select Next. Continuing to select Next displays additional information.

Enter the following command at a command prompt:

To view Driver Verifier settings

In Driver Verifier Manager, select Display existing settings, and then select Next.

Enter the following command at a command prompt:

Утилиты, необходимые для подписывания драйвера

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

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

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

Pnputil –i –a C:\DriverCert\xg20\xg20gr.inf

Теперь в процессе установки драйвера, окна-предупреждения об отсутствующей цифровой подписи драйвера не появится.

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

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

В Windows 7 появляется такое предупреждение. о том, уверены ли вы, что хотите установить этот драйвер (в Windows 10 x64 1803 такое всплывающее окно не появляется). Нажав «Install», вы установите драйвер в системе.

Установка самоподписаного драйвера в windows 7

setupapi.dev.log

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

Как вы видите, для установки самоподписанного драйвера нам даже не пришлось отключать проверку цифровой подписи драйверов с помощью bcdedit.exe, как описано здесь (команды bcdedit.exe /set loadoptions DISABLE_INTEGRITY_CHECKS и bcdedit.exe /set testsigning ON ).

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

page

page

page

Несколько одновременных RDP сессий пользователей в Windows 10 Восстановление EFI загрузчика в Windows 10 RDS Shadow – теневое подключение к RDP сеансам пользователей в Windows Server 2016/2019 Загрузка Windows 7/10 с GPT диска на BIOS системе (без UEFI)

Инструкция отличнейшая. наконец то можно будет нормально обходится без виртуальной машины 32 битной , спасибо.

Попробовал. Получилось отлично. У драйвера показывает цифровую подпись. Установилось через devcon без всяких всплывающих окошек.

Через pnputil тоже нормально.

Спасибо за мануал. Успешно подписал TAP драйвер к OpenVPN. Ставится без проблем

Это боты-накрутчики успешно установили? Только что сделал всё по инструкции с точностью до символа: ошибка 52. Либо у людей винда 32-битная, либо TESTSIGNING включен. Либо боты-накрутчики.

кто встретился с проблемой установки SDK, удалите MS Visual C ++ 2010 года, как и 32 так и 64 битную версии

Руслан, расскажите, как получилось (если ещё в памяти свежо). У меня драйвер отлично установился по этим рекомендациям, но с AVR910 ошибка 43 (недопустимый дескриптор usb конфигурации. Windows10.

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

Ребята никто не поможет подписать драйвер для телефона FLY IQ436? Самому повторить вышеописанную процедуру слишком сложно! Помогите пожайлуста в СКАЙПЕ Я PatronDragon.

Дохожу до пункта На основе inf файла сгенерируем для нашей платформы cat файл (содержит информацию о всех файлах пакета драйвера). и не знаю какой файл у себя выбрать!? Какой не беру всё равно пишет does not exist! ЧТО ДЕЛАТЬ?

У меня в папке с моим драйвером нет файла inf! Что делать?

Без inf файла у вас ничего не получится, т.к. в именно в нем описывается порядок установки и структура исполняемых файлов драйвера. Посмотрите, возможно он у вас в каком-нибудь архиве лежит (rar, zip, cab)

Хм, зачем тогда авторы пишут такие статьи?

С помощью такой подписи от GoDaddy получится сделать .cat из .inf и .sys ?

Ты не мог бы мне помочь подписать драйвер ?
у тебя ещё год не прошёл вроде
очень нужно

Я написал свой WDF драйвер и подписал его с помощью этого мануала, за что огромное спасибо написавшему! Написал инсталлятор на wix и дрова прекрасно ставятся на x64 Винду 10.0 без включения тестмода и проверки подписей, даже предупреждение не отображается. С другой стороны 8000 это не деньги, конечно, для фирмы средней руки

Всё, похоже GoDaddy прикрыли лавочку продажи сертификатов подписи кода и драйверов. Вот что на сайте у них:

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

С помощью такой подписи от GoDaddy получится сделать .cat из .inf и .sys ?

В результате подписывания исходные .inf и .sys как-то модифицируются или никак не затрагиваются?
Их исходники не нужны для подписывания драйвера?

Если я куплю такого типа сертификат, то получится ли с его помощью заменить подпись в некоем драйвере на свою?
Например, есть подписанный драйвер ( состоит из .inf, .sys , .cat файлов ).
Получится ли убрать от него .cat и создать новый .cat ( командами inf2cat.exe и signtool.exe ), подписанный таким сертификатом?
Такой драйвер будет нормально работать?
Другими словами , работает ли такое, что можно убрать одну цифровую подпись и вместо неё поставить другую?

Сергей, Вы получили сертификат с алгоритмом хеширования подписи SHA1, SHA2 или с SHA256?
Надо ли на винду ставить какие-то апдейты или пэтчи, чтобы подписанные драйверы не выдавали ошибку 52?

SHA1 и SHA2. Подписал с использованием SHA2, чтобы и Win10 охватить. По идее, Win7 должна понимать SHA2 только после патча, в реальности же на Win7 x64 драйвер встаёт (что без подписи невозможно), но Винда говорит, что подписи нет 🙂

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

А на 32 битной Windows 7 можно как-то подписать драйвер?

Сам отвечу, можно, на процессе создание cat файла нужно записать не x64, a x86. Спасибо, инструкция рабочая

Я так и сделал, правда сначала получил какую-то ошибку, исправил, и второй раз все получилось.

Спасибо за отзыв! Поправил путь

Сделал все как описано. Подписал драйвер старого оборудования для сетевой карты. Все работает на сервер 2012 r2 без тестового режима.

Отличная статья, получилось сделать на Windows server 2012.
Проблемы возникли такие:
22.9.4: Missing 32-bit CatalogFile entry (CatalogFile.ntx86, CatalogFile.nt, CatalogFile) from [Version] section in \skeyusb.inf

но все решил добавлением в файл inf строчки CatalogFile(или разкоментированием).
даже установка сертификата на сервер не нужна была. Спасибо огромное. Как вы это придумываете))

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

потому что это секрет Майков

Done Adding Additional Store
SignTool Error: The specified timestamp server either could not be reached or
returned an invalid response.
SignTool Error: An error occurred while attempting to sign: C:\DriverCert\xg\gn246hl.cat

может кто встречался с такой проблемой?
пишет что сервер временной метки дает неправильный ответ

Driver Verifier

Driver Verifier monitors Windows kernel-mode drivers and graphics drivers to detect illegal function calls or actions that might corrupt the system. Driver Verifier can subject Windows drivers to a variety of stresses and tests to find improper behavior. You can configure which tests to run, which allows you to put a driver through heavy stress loads or through more streamlined testing. You can also run Driver Verifier on multiple drivers simultaneously, or on one driver at a time.

  • Running Driver Verifier could cause the computer to crash.
  • You should only run Driver Verifier on computers that you are using for testing and debugging.
  • You must be in the Administrators group on the computer to use Driver Verifier.

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

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

cd "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x64"

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

signtool sign /f C:\DriverCert\myDrivers.pfx /p P@ss0wrd /t http://timestamp.globalsign.com/scripts/timstamp.dll /v "C:\DriverCert\xg\xg20gr.cat"

signtool Подписываем драйвер с помощью сертификата

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

Successfully signed: C:\DriverCert\xg\xg20gr.cat
Number of files successfully Signed: 1

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

SignTool verify /v /pa c:\DriverCert\xg\xg20gr.cat

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

Лидо в свойствах файла на вкладке Digital Signatures.

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

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

How to start Driver Verifier

You should only run Driver Verifier on test computers, or on computers that you are testing and debugging. To get the most benefit from Driver Verifier, you should use a kernel debugger and connect to the test computer. For more information about debugging tools, see Debugging Tools for Windows (WinDbg, KD, CDB, NTSD).

Start a Command Prompt window by selecting Run as administrator, and type verifier to open Driver Verifier Manager.

Select Create standard settings (the default task), and select Next.

You can also choose Create custom settings to select from predefined settings, or to select individual options. For more information, see Driver Verifier options and rule classes and Selecting Driver Verifier Options.

Under Select what drivers to verify, choose one of the selection schemes described in the following table.

Useful for testing on computers that are running versions of Windows that do not require signed drivers.

Useful for testing driver compatibility with newer versions of Windows.

Provides maximum coverage in terms of the number of drivers that are tested on a system. This option is useful for test scenarios where a driver can interact with other devices or drivers on a system.

This option can also exhaust the resources available for Special Pool and some resource tracking. Testing all drivers can also adversely affect system performance.

In most cases, you will want to specify which drivers to test.

Selecting all drivers in a device stack allows the Enhanced I/O Verification option to track objects and check compliance because an I/O request packet (IRP) is passed between each of the drivers in the stack, which allows for a greater level of detail to be provided when an error is detected.

Select a single driver if you are running a test scenario that measures system or driver performance metrics, or if you want to allocate the greatest number of resources available for detecting memory corruption or resource tracking issues (such as deadlocks or mutexes). The Special Pool and I/O Verification options are more effective when used on one driver at a time.

If you chose Select driver names from a list, select Next, and then select one or more specific drivers.

Select Finish, and then restart the computer.

You can also run Driver Verifier in a Command Prompt window without starting Driver Verifier Manager. For example, to run Driver Verifier with the standard settings on a driver called myDriver.sys, you would use the following command:

For more information about command line options, see Driver Verifier Command Syntax.

How to debug Driver Verifier violations

To get the most benefit from Driver Verifier, you should use a kernel debugger and connect it to the test computer. For an overview of debugging tools for Windows, see Debugging Tools for Windows (WinDbg, KD, CDB, NTSD).

If Driver Verifier detects a violation, it generates a bug check to stop the computer. This is to provide you with the most information possible for debugging the issue. When you have a kernel debugger connected to a test computer that is running Driver Verifier, and Driver Verifier detects a violation, Windows breaks into the debugger and displays a brief description of the error.

All violations detected by Driver Verifier result in bug checks. Common bug check codes include the following:

When you start a new debugging session, use the debugger extension command, !analyze. In kernel mode, the !analyze command displays information about the most recent bug check. To display additional information, to help identify the faulting driver, add option -v to the command at the kd> prompt:

In addition to !analyze, you can enter the following debugger extensions at the kd> prompt to view information that is specific to Driver Verifier:

!verifier dumps captured Driver Verifier statistics. Use !verifier -? to display all of the available options.

!deadlock displays information related to locks or objects tracked by Driver Verifier's deadlock detection feature. Use !deadlock -? to display all of the available options.

!iovirp [address] displays information related to an IRP tracked by I/O Verifier. For example:

!ruleinfo [RuleID] displays information related to the DDI compliance checking rule that was violated. (RuleID is always the first argument to the bug check.) All rule IDs from DDI compliance checking are in the form 0x200nn. For example:

Читайте также: