File di catalogo e firme digitali
Un file di catalogo con firma digitale (con estensione cat) può essere usato come firma digitale per una raccolta arbitraria di file. Un file di catalogo contiene una raccolta di hash crittografici o identificazioni personali. Ogni identificazione personale corrisponde a un file incluso nella raccolta.
L'installazione del dispositivo Plug and Play (PnP) riconosce il file di catalogo firmato di un pacchetto driver come firma digitale per il pacchetto driver. Ogni identificazione personale nel file di catalogo corrisponde a un file installato dal pacchetto driver. Indipendentemente dal sistema operativo previsto, la tecnologia crittografica viene usata per firmare digitalmente il file di catalogo.
L'installazione del dispositivo PnP considera la firma digitale di un pacchetto driver non valida se un file nel pacchetto driver viene modificato dopo la firma del pacchetto driver. Tali file includono il file INF, il file di catalogo e tutti i file copiati dalle direttive COPYFiles INF. Ad esempio, anche una modifica a byte singolo per correggere un errore di ortografia invalida la firma digitale. Se la firma digitale non è valida, è necessario inviare di nuovo il pacchetto driver a Windows Hardware Dev Center per una nuova firma oppure generare una nuova firma Authenticode per il pacchetto driver.
Analogamente, le modifiche apportate all'hardware o al firmware di un dispositivo richiedono un valore di ID dispositivo modificato in modo che il sistema possa rilevare il dispositivo aggiornato e installare il driver corretto. Poiché il valore dell'ID dispositivo modificato deve essere visualizzato nel file INF, è necessario inviare di nuovo il pacchetto a Windows Hardware Dev Center per una nuova firma o generare una nuova firma Authenticode per il pacchetto driver. È necessario ottenere un nuovo ID dispositivo anche se i file binari del driver non cambiano.
La direttiva CatalogFile nella sezione VERSIONE INF del file INF del driver specifica il nome del file di catalogo per il pacchetto driver. Durante l'installazione del driver, il sistema operativo usa la direttiva CatalogFile per identificare e convalidare il file di catalogo. Il sistema installa il file di catalogo nella directory CatRoot nella directory di sistema restituita da GetSystemDirectory, ad esempio %SystemRoot%\System32\CatRoot. I file di catalogo non devono essere aggiunti o rimossi manualmente da tale directory. Per i pacchetti driver, il file di catalogo viene installato automaticamente in CatRoot quando il pacchetto driver viene sottoposto a staging nell'archivio driver. Il file di catalogo viene disinstallato automaticamente da CatRoot quando il pacchetto driver viene rimosso dall'archivio driver. Se è necessario installare un file di catalogo in CatRoot per motivi esterni a un pacchetto driver, vedere Installazione di un file di catalogo tramite SignTool e Installazione di un file di catalogo tramite CryptCATAdminAddCatalog.
Linee guida per i file di catalogo
A partire da Windows 2000, se il pacchetto driver installa gli stessi file binari in tutte le versioni di Windows, il file INF può contenere una singola direttiva CatalogFile non dichiarata. Tuttavia, se il pacchetto installa file binari diversi per versioni diverse di Windows, il file INF deve contenere direttive CatalogFile decorate. Per altre informazioni sulla direttiva CatalogFile , vedere sezione VERSIONE INF.
Se si dispone di più pacchetti driver, è necessario creare un file di catalogo separato per ogni pacchetto driver e assegnare a ogni file di catalogo un nome file univoco. Due pacchetti driver non correlati non possono condividere un singolo file di catalogo. Tuttavia, un singolo pacchetto driver che serve più dispositivi richiede un solo file di catalogo.