Katalogdateien und digitale Signaturen

Eine digital signierte Katalogdatei (.cat) kann als digitale Signatur für eine beliebige Sammlung von Dateien verwendet werden. Eine Katalogdatei enthält eine Sammlung von kryptografischen Hashes oder Fingerabdrucken. Jeder Fingerabdruck entspricht einer Datei, die in der Auflistung enthalten ist.

Plug & Play -Geräteinstallation (PnP) erkennt die signierte Katalogdatei eines Treiberpakets als digitale Signatur für das Treiberpaket, wobei jeder Fingerabdruck in der Katalogdatei einer Datei entspricht, die vom Treiberpaket installiert wird. Unabhängig vom vorgesehenen Betriebssystem wird kryptografische Technologie verwendet, um die Katalogdatei digital zu signieren.

Bei der PnP-Geräteinstallation wird die digitale Signatur eines Treiberpakets als ungültig angesehen, wenn eine Datei im Treiberpaket geändert wird, nachdem das Treiberpaket signiert wurde. Zu diesen Dateien gehören die INF-Datei, die Katalogdatei und alle Dateien, die von INF CopyFiles-Direktiven kopiert werden. Beispielsweise wird die digitale Signatur auch durch eine Änderung mit einem Einzelnen byte zum Korrigieren einer Rechtschreibfehler ungültig. Wenn die digitale Signatur ungültig ist, müssen Sie entweder das Treiberpaket erneut an die Windows Hardware Quality Labs (WHQL) übermitteln, um eine neue Signatur zu erstellen oder eine neue Authenticode-Signatur für das Treiberpaket zu generieren.

Ebenso erfordern Änderungen an der Hardware oder Firmware eines Geräts einen überarbeiteten Geräte-ID-Wert , damit das System das aktualisierte Gerät erkennen und den richtigen Treiber installieren kann. Da der überarbeitete Geräte-ID-Wert in der INF-Datei angezeigt werden muss, müssen Sie das Paket entweder erneut an WHQL übermitteln, um eine neue Signatur zu erhalten, oder eine neue Authenticode-Signatur für das Treiberpaket generieren. Sie müssen dies auch dann tun, wenn sich die Treiberbinärdateien nicht ändern.

Die CatalogFile-Direktive im Abschnitt INF-Version der INF-Datei des Treibers gibt den Namen der Katalogdatei für das Treiberpaket an. Während der Treiberinstallation verwendet das Betriebssystem die CatalogFile-Direktive , um die Katalogdatei zu identifizieren und zu überprüfen. Das System installiert die Katalogdatei im Verzeichnis CatRoot unter dem Systemverzeichnis, das von GetSystemDirectory zurückgegeben wird, z. B. %SystemRoot%\System32\CatRoot. Beachten Sie, dass Katalogdateien diesem Verzeichnis nicht manuell hinzugefügt oder daraus entfernt werden sollten. Bei Treiberpaketen wird die Katalogdatei automatisch in CatRoot installiert, wenn das Treiberpaket im Treiberspeicher bereitgestellt wird, und automatisch aus dem CatRoot deinstalliert, wenn das Treiberpaket aus dem Treiberspeicher entfernt wird. Wenn Sie eine Katalogdatei aus Gründen außerhalb eines Treiberpakets in CatRoot installieren müssen, finden Sie weitere Informationen unter Installieren einer Katalogdatei mithilfe von SignTool und Installieren einer Katalogdatei mithilfe von CryptCATAdminAddCatalog.

Richtlinien für Katalogdateien

Wenn das Treiberpaket ab Windows 2000 dieselben Binärdateien unter allen Versionen von Windows installiert, kann die INF-Datei eine einzelne, nicht ergänzte CatalogFile-Direktive enthalten. Wenn das Paket jedoch verschiedene Binärdateien für verschiedene Versionen von Windows installiert, sollte die INF-Datei ergänzte CatalogFile-Direktiven enthalten. Weitere Informationen zur CatalogFile-Direktive finden Sie im Abschnitt zur INF-Version.

Wenn Sie über mehrere Treiberpakete verfügen, sollten Sie für jedes Treiberpaket eine separate Katalogdatei erstellen und jeder Katalogdatei einen eindeutigen Dateinamen zuweisen. Zwei nicht verknüpfte Treiberpakete können keine einzelne Katalogdatei gemeinsam nutzen. Ein einzelnes Treiberpaket, das mehrere Geräte bedient, erfordert jedoch nur eine Katalogdatei.