Файлы каталога и Цифровые подписи

Файл каталога с цифровой подписью (. Cat) можно использовать в качестве цифровой подписи для произвольной коллекции файлов. Файл каталога содержит коллекцию криптографических хэшей или отпечатков. Каждый отпечаток соответствует файлу, включенному в коллекцию.

установка устройства Plug and Play (PnP) распознает подписанный файл каталога пакета драйверов в виде цифровой подписи для пакета драйверов, где каждый отпечаток в файле каталога соответствует файлу, установленному пакетом драйверов. Независимо от требуемой операционной системы, для цифровой подписи файла каталога используются криптографические технологии.

При установке устройства PnP цифровая подпись пакета драйвера считается недействительной, если после подписания пакета драйверов какой-либо файл в пакете драйверов изменяется. К таким файлам относятся INF-файл, файл каталога и все файлы, скопированные с помощью INF-директив CopyFiles. Например, даже однобайтное изменение для исправления ошибки делает недействительной цифровую подпись. если цифровая подпись недействительна, необходимо повторно отправить пакет драйвера в Windows для новой подписи в лаборатории WHQL или создать новую подпись Authenticode для пакета драйверов.

Аналогичным образом изменения в оборудовании или микропрограмме устройства требует пересмотра значения идентификатора устройства , чтобы система могла обнаружить обновленное устройство и установить правильный драйвер. Так как измененное значение идентификатора устройства должно появиться в INF-файле, необходимо либо повторно отправить пакет в WHQL для новой подписи, либо создать новую подпись Authenticode для пакета драйверов. Это необходимо сделать, даже если двоичные файлы драйвера не изменяются.

Директива каталогфиле в разделе Version INFINF-файла драйвера указывает имя файла каталога для пакета драйверов. Во время установки драйвера операционная система использует директиву каталогфиле для обнаружения и проверки файла каталога. Система устанавливает файл каталога в каталог Катрут в системном каталоге, возвращенном GetSystemDirectory, например %systemroot%\System32\CatRoot. Обратите внимание, что файлы каталога не должны добавляться в этот каталог или удаляться из него вручную. Для пакетов драйверов файл каталога будет автоматически установлен на Катрут, когда пакет драйверов помещается в хранилище драйверов и будет автоматически удален из Катрут при удалении пакета драйверов из хранилища драйверов. Если необходимо установить файл каталога в Катрут по причинам за пределами пакета драйверов, см. статью Установка файла каталога с помощью средства SignTool и Установка файла каталога с помощью крипткатадминаддкаталог.

Рекомендации по файлам каталога

начиная с Windows 2000, если пакет драйверов устанавливает одни и те же двоичные файлы во всех версиях Windows, INF-файл может содержать одну недекорированную директиву каталогфиле . однако если пакет устанавливает разные двоичные файлы для разных версий Windows, INF-файл должен содержать декорированные директивы каталогфиле . Дополнительные сведения об директиве каталогфиле см. в разделе версия INF-файла.

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