Введение в Test-Signing
Во время разработки и тестирования драйверы должны быть подписаны цифровой подписью по следующим причинам:
Для упрощения и автоматизации установки.
Если драйвер не подписан, политика установки драйвера Plug and Play (PnP) Windows Vista и более поздних версий Windows требует, чтобы системный администратор вручную авторизовал установку неподписаемого драйвера, добавив дополнительный шаг в процесс установки. Этот дополнительный шаг может отрицательно сказаться на производительности разработчиков и тестировщиков. Это требование нельзя переопределить.
Чтобы иметь возможность загружать драйверы в режиме ядра в 64-разрядных версиях Windows Vista и более поздних версиях Windows.
По умолчанию политика подписывания кода в режиме ядра для 64-разрядных версий Windows Vista и более поздних версий Windows требует, чтобы драйвер в режиме ядра был подписан для загрузки драйвера. Это требование может быть временно переопределено для упрощения разработки или отладки драйвера.
Чтобы воспроизвести некоторые типы содержимого класса Premium следующего поколения, все компоненты режима ядра в Windows Vista и более поздних версиях Windows должны быть подписаны. Кроме того, все компоненты пользовательского режима и режима ядра в защищенном пути к мультимедиа (PMP) должны соответствовать политике подписывания PMP. Сведения о политике подписывания PMP см. в техническом документе Подписывание кода для компонентов защищенного мультимедиа в Windows Vista.
По этим причинам драйверы для Windows Vista и более поздних версий Windows должны быть подписаны с помощью цифрового сертификата, созданного с помощью Microsoft Authenticode. Такой цифровой сертификат называется тестовый сертификат , а подпись, созданная с помощью тестового сертификата, называется тестовой подписью.
Примечание Windows Vista и более поздние версии Windows поддерживают драйверы, подписанные тестом, только в целях разработки и тестирования. Тестовые подписи не должны использоваться в рабочих целях или выпускаться клиентам.
Команда разработчиков и тестирования может участвовать в программе WHQL Test Signature, в которой Лаборатории качества оборудования Windows (WHQL) подписывают пакеты драйверов PnP для целей тестирования. Кроме того, команда разработчиков и тестирования может управлять собственным процессом подписывания и использовать следующие типы тестовых сертификатов для тестирования и подписывания драйверов:
Тестовый сертификат MakeCert— цифровой сертификат, созданный средством MakeCert .
Коммерческий тестовый сертификат, который представляет собой цифровой сертификат, выданный ЦС, который является участником программы корневых сертификатов Майкрософт.
Тестовый сертификат ЦС предприятия, который представляет собой цифровой сертификат, развернутый корпоративным ЦС.
Сведения о том, как тестовая группа подписывает пакет драйвера после создания, получения или предоставления тестового сертификата, см. в разделе Test-Signing Driver Packages.
Сведения об установке пакетов драйверов, подписанных тестом, см. в разделе Установка пакетов драйверов Test-Signed.
Чтобы упростить раннюю разработку и отладку драйверов, можно временно отключить требование подписывания кода в режиме ядра, чтобы загрузить и протестировать неподписанный драйвер в режиме ядра. Однако нельзя отключить политику установки драйвера PnP, требующую от системного администратора авторизации установки неподписаемого драйвера. Дополнительные сведения об установке неподписаемого драйвера см. в разделе Установка неподписаного драйвера во время разработки и тестирования.
Сведения о наиболее подходящих средствах для тестирования пакетов драйверов см. в статье Средства для подписывания драйверов.
Примечание Чтобы получить лучшее представление о действиях, которые выполняются в пакетах драйверов для подписывания тестов, см. статью Как Test-Sign пакета драйверов. В этом разделе приводится сводка процесса подписывания тестов и пошаговые инструкции по подписывке тестов с помощью пакета драйвераToastPkg в комплекте драйверов Windows (WDK).