Archivos de catálogo y firmas digitales

Un archivo de catálogo firmado digitalmente (.cat) se puede usar como firma digital para una colección arbitraria de archivos. Un archivo de catálogo contiene una colección de hash criptográficos o huellas digitales. Cada huella digital corresponde a un archivo que se incluye en la colección.

Plug and Play instalación de dispositivos (PnP) reconoce el archivo de catálogo firmado de un paquete de controladores como la firma digital del paquete de controladores, donde cada huella digital del archivo de catálogo corresponde a un archivo instalado por el paquete de controladores. Independientemente del sistema operativo previsto, la tecnología criptográfica se usa para firmar digitalmente el archivo de catálogo.

La instalación de dispositivos PnP considera que la firma digital de un paquete de controladores no es válida si se modifica algún archivo del paquete de controladores después de que se firmó el paquete de controladores. Estos archivos incluyen el archivo INF, el archivo de catálogo y todos los archivos que copian las directivas CopyFiles de INF. Por ejemplo, incluso un cambio de un solo byte para corregir un error ortográfico invalida la firma digital. Si la firma digital no es válida, debe volver a enviar el paquete de controladores a Windows Hardware Quality Labs (WHQL) para una nueva firma o generar una nueva firma Authenticode para el paquete de controladores.

Del mismo modo, los cambios en el hardware o firmware de un dispositivo requieren un valor de identificador de dispositivo revisado para que el sistema pueda detectar el dispositivo actualizado e instalar el controlador correcto. Dado que el valor de identificador de dispositivo revisado debe aparecer en el archivo INF, debe volver a enviar el paquete a WHQL para una nueva firma o generar una nueva firma Authenticode para el paquete de controladores. Debe hacerlo incluso si los archivos binarios del controlador no cambian.

La directiva CatalogFile de la sección Versión inf del archivo INF del controlador especifica el nombre del archivo de catálogo para el paquete de controladores. Durante la instalación del controlador, el sistema operativo usa la directiva CatalogFile para identificar y validar el archivo de catálogo. El sistema instala el archivo de catálogo en el directorio CatRoot en el directorio del sistema devuelto por GetSystemDirectory, por ejemplo , %SystemRoot%\System32\CatRoot. Tenga en cuenta que los archivos de catálogo no se deben agregar ni quitar manualmente de ese directorio. En el caso de los paquetes de controladores, el archivo de catálogo se instalará automáticamente en CatRoot cuando el paquete de controladores se almacene provisionalmente en el Almacén de controladores y se desinstalará automáticamente de CatRoot cuando se quite el paquete de controladores del almacén de controladores. Si necesita instalar un archivo de catálogo en CatRoot por motivos fuera de un paquete de controladores, consulte Instalación de un archivo de catálogo mediante SignTool e Instalación de un archivo de catálogo mediante CryptCATAdminAddCatalog.

Directrices para archivos de catálogo

A partir de Windows 2000, si el paquete de controladores instala los mismos archivos binarios en todas las versiones de Windows, el archivo INF puede contener una única directiva CatalogFile sin codificar. Sin embargo, si el paquete instala archivos binarios diferentes para diferentes versiones de Windows, el archivo INF debe contener directivas CatalogFile decoradas. Para obtener más información sobre la directiva CatalogFile , vea Sección de versión inf.

Si tiene más de un paquete de controladores, debe crear un archivo de catálogo independiente para cada paquete de controladores y asignar a cada archivo de catálogo un nombre de archivo único. Dos paquetes de controladores no relacionados no pueden compartir un único archivo de catálogo. Sin embargo, un único paquete de controladores que atiende varios dispositivos solo requiere un archivo de catálogo.