Введение в Release-Signing
Пакеты драйверов должны быть подписаны по следующим причинам:
Для обеспечения подлинности, целостности и надежности пакетов драйверов.
Windows использует цифровые подписи для проверки удостоверения издателя и проверки того, что пакет драйвера не был изменен с момента его публикации.
Чтобы обеспечить наилучшее взаимодействие с пользователем, упрощая автоматическую установку драйверов.
Если пакет драйверов не подписан, политика установки драйвера Plug and Play (PnP) требует, чтобы системный администратор вручную авторизовал установку пакета неподписанных драйверов, добавив дополнительный шаг в процесс установки. Этот дополнительный шаг может быть потенциально запутанным и беспокойным для обычного пользователя.
Запуск двоичных файлов драйверов в режиме ядра в 64-разрядных версиях Windows Vista и более поздних версиях Windows.
Политика подписывания кода в режиме ядра для 64-разрядных версий Windows Vista и более поздних версий требует подписывания двоичных файлов драйверов в режиме ядра, чтобы операционная система загружала драйвер.
Чтобы воспроизвести некоторые типы содержимого класса Premium следующего поколения, все компоненты режима ядра в Windows Vista и более поздних версиях Windows должны быть подписаны. Кроме того, все компоненты пользовательского режима и режима ядра в защищенном пути к мультимедиа (PMP) должны соответствовать политике подписывания PMP. Сведения о политике подписывания PMP см. в техническом документе Подписывание кода для компонентов защищенного мультимедиа в Windows Vista.
Комплект сертификации оборудования (HCK) содержит категории тестов для различных типов устройств. Если в этот список включена тестовая категория для типа устройства, издатель пакета драйверов должен получить подпись выпуска WHQL для пакета драйвера.
Примечание В Windows Server 2003, Windows XP и Windows 2000 INF-файл из пакета драйвера , подписанного WHQL, должен использовать класс установки устройства , определенный в %SystemRoot%/inf/Certclas.inf. В противном случае Windows обрабатывает пакет драйвера как неподписанный.
Если пакет драйвера имеет цифровую подпись с помощью WHQL, он может распространяться через программу клиентский компонент Центра обновления Windows или другие механизмы распространения, поддерживаемые Корпорацией Майкрософт. WHQL подписывает файл каталога пакета драйверов, но не внедряет сигнатуры в файлы драйверов. Если двоичный файл драйвера является загрузочным драйвером для 64-разрядных процессоров, издатель пакета драйверов должен также внедрить сигнатуру в файлы драйверов в режиме ядра перед отправкой пакета драйвера в WHQL.
Если у комплекта сертификации оборудования (HCK) нет тестовой категории для вашего типа устройства, то для выпуска пакетов драйверов в Windows Vista и более поздних версиях Windows необходимо выполнить следующие требования:
Чтобы обеспечить соответствие политике подписывания кода в режиме ядра для 64-разрядных версий Windows Vista и более поздних версий Windows, необходимо использовать сертификат издателя программного обеспечения (SPC) для подписи пакета драйверов в режиме ядра. Для драйверов, не запускающих загрузку, необходимо только подписать файл каталога пакета драйверов. Для загрузочного драйвера необходимо внедрить подпись SPC в файл драйвера в режиме ядра и при необходимости также подписать файл каталога пакета драйверов.
Вы должны соответствовать требованиям к подписи установки устройства PnP.
SPC и коммерческий сертификат выпуска в совокупности называются сертификатами выпуска , а подпись, созданная с помощью сертификата выпуска, называется подписью выпуска.
Дополнительные сведения о требованиях и процедурах подписывания выпусков см. в разделе Пакеты драйверов для подписывания выпуска.
Примечание Чтобы понять действия, связанные с пакетами драйверов для подписывания выпусков, см. статью Как Release-Sign пакета драйверов. В этом разделе приводится сводка процесса подписывания выпусков и пошаговые инструкции по подписывке выпуска с помощью пакета драйвера ToastPkg в комплекте драйверов Windows (WDK).