заголовок

Использование подписанных драйверов

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

Подписанный драйвер — это драйвер, имеющий соответствующую цифровую подпись. Цифровые подписи для драйверов Windows позволяют операционной системе проверять целостность каждого файла, входящего в состав пакета драйвера. Пакет драйвера копирует предоставленный корпорацией Майкрософт файл каталога (.cat) с цифровой подписью, содержащий запись о каждом файле пакета драйвера. Подписи драйверов (иногда называемые подписями программ) включают в себя следующие компоненты:

Для получения файла каталога с цифровой подписью все драйверы должны пройти проверку в лаборатории WHQL на соответствие критериям, определенным корпорацией Майкрософт для данного устройства. Дополнительные сведения о подписанных драйверах см. на веб-узле Windows Hardware and Driver Central (http://www.microsoft.com/whdc/).

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

Тестирование неподписанных драйверов

Если драйвер, полученный от поставщика для тестирования, еще не подписан и предназначен для замены драйвера Windows XP, то программа установки Windows вместо неподписанного драйвера выбирает драйвер, входящий в Windows XP. Дополнительные сведения о программе установки Windows и драйверах см. в разделе Выбор определенного драйвера устройства в Windows.

Внимание!

Чтобы установить неподписанные драйверы при выполнении программы Sysprep, включите в файл Sysprep.inf следующие строки:

[Unattended]
UpdateInstalledDrivers = Yes

Запись DriverSigningPolicy в разделе [Unattended] определяет способ обработки неподписанных драйверов во время автоматической установки. Только в целях тестирования можно указать значение параметра DriverSigningPolicy = Ignore. Изготовители компьютеров должны использовать значение параметра по умолчанию (DriverSigningPolicy = Warn) или более строгое (DriverSigningPolicy = Block), чтобы обеспечить вывод предупреждений о возможных неполадках для конечных пользователей при загрузке новых или обновленных неподписанных драйверов.

После завершения работы программы Sysprep для параметра DriverSigningPolicy автоматически задается значение Warn, если файл Sysprep.inf не содержит значение DriverSigningPolicy = Block.

Примечание

Использование подписанных драйверов

Подписанные файлы драйвера (включая INF-файлы) нельзя изменять. При внесении любых изменений в любой файл драйвера действие цифровой подписи драйвера прекращается.

При выполнении предварительной установки подписанных драйверов необходимо обеспечить следующие условия.

Проверка подписей файлов

Проверить наличие подписей можно с помощью средства проверки подписи Sigverif.exe, входящего в состав Windows. По умолчанию эта программа просматривает стандартный набор системных файлов, указанных в файле Corelist.inf, все драйверы в диспетчере устройств и все установленные драйверы принтеров. Данное средство также можно использовать для проверки отдельных подписанных файлов. Следует с помощью программы Sigverif проверить каждый созданный вами образ предварительной установки и выявить все неподписанные файлы с расширениями .sys или .drv.

Чтобы запустить программу Sigverif, нажмите кнопку Пуск, выберите команду Выполнить и введите sigverif.

Чтобы после установки просмотреть свойства драйвера, откройте в диспетчере устройств вкладку Драйвер в окне свойств соответствующего устройства.

Проверка подлинности и исправление ошибок подписей драйверов устройств

Причины сбоя при установке драйвера и подлинность подписи можно определить с помощью файла Setupapi.log, находящегося в каталоге %SYSTEMROOT%. Для получения более точных записей кода, используемого Windows при установке драйвера и проверке подлинности подписи, перед установкой драйвера удалите файл журнала.

Включите пробное протоколирование Setupapi, добавив значение LogLevel в следующий раздел реестра:

HKEY_Local_Machine\Software\Microsoft\Windows\CurrentVersion\Setup

DWORD LogLevel 
Data = FFFF

Перезагрузите систему, установите драйвер, который следует протестировать, и откройте файл Setupapi.log. В нем подробно описывается состояние каждого отдельного компонента драйвера, включая данные о правильности подписи.

Дополнительные сведения см. в документе Подписывание драйверов для операционных систем Windows (http://www.microsoft.com/windowsxp/home/using/productdoc/en/default.asp?url=/windowsxp/home/using/productdoc/en/code_signing.asp), находящемся на веб-узле Windows Hardware and Driver Central (http://www.microsoft.com/whdc/).