Arquivos de catálogo e assinaturas digitais
Um arquivo de catálogo assinado digitalmente (.cat) pode ser usado como uma assinatura digital para uma coleção arbitrária de arquivos. Um arquivo de catálogo contém uma coleção de hashes criptográficos ou impressões digitais. Cada impressão digital corresponde a um arquivo incluído na coleção.
A instalação do dispositivo PnP (Plug and Play) reconhece o arquivo de catálogo assinado de um pacote de driver como a assinatura digital do pacote de driver. Cada impressão digital no arquivo de catálogo corresponde a um arquivo que o pacote de driver instala. Independentemente do sistema operacional pretendido, a tecnologia criptográfica é usada para assinar digitalmente o arquivo de catálogo.
A instalação do dispositivo PnP considera a assinatura digital de um pacote de driver inválida se qualquer arquivo no pacote de driver for alterado depois que o pacote de driver foi assinado. Esses arquivos incluem o arquivo INF, o arquivo de catálogo e todos os arquivos copiados por diretivas INF CopyFiles. Por exemplo, mesmo uma alteração de byte único para corrigir um erro ortográfico invalida a assinatura digital. Se a assinatura digital for inválida, você deverá reenviar o pacote de driver para o Centro de Desenvolvimento de Hardware do Windows para uma nova assinatura ou gerar uma nova assinatura Authenticode para o pacote de driver.
Da mesma forma, as alterações no hardware ou firmware de um dispositivo exigem um valor de ID de dispositivo revisado para que o sistema possa detectar o dispositivo atualizado e instalar o driver correto. Como o valor da ID do dispositivo revisado deve aparecer no arquivo INF, você deve reenviar o pacote para o Centro de Desenvolvimento de Hardware do Windows para uma nova assinatura ou gerar uma nova assinatura Authenticode para o pacote de driver. Você deve obter uma nova ID de dispositivo mesmo que os binários do driver não sejam alterados.
A diretiva CatalogFile na seção Versão INF do arquivo INF do driver especifica o nome do arquivo de catálogo para o pacote de driver. Durante a instalação do driver, o sistema operacional usa a diretiva CatalogFile para identificar e validar o arquivo de catálogo. O sistema instala o arquivo de catálogo no diretório CatRoot no diretório do sistema retornado por GetSystemDirectory, por exemplo, %SystemRoot%\System32\CatRoot. Os arquivos de catálogo não devem ser adicionados ou removidos desse diretório manualmente. Para pacotes de driver, o arquivo de catálogo é instalado automaticamente no CatRoot quando o pacote de driver é preparado para o Repositório de Driver. O arquivo de catálogo é desinstalado automaticamente do CatRoot quando o pacote de driver é removido do Repositório de Driver. Se você precisar instalar um arquivo de catálogo no CatRoot por motivos fora de um pacote de driver, consulte Instalando um arquivo de catálogo usando SignTool e Instalando um arquivo de catálogo usando CryptCATAdminAddCatalog.
Diretrizes para arquivos de catálogo
A partir do Windows 2000, se o pacote de driver instalar os mesmos binários em todas as versões do Windows, o arquivo INF poderá conter uma única diretiva CatalogFile não decorada. No entanto, se o pacote instalar binários diferentes para versões diferentes do Windows, o arquivo INF deverá conter diretivas CatalogFile decoradas. Para obter mais informações sobre a diretiva CatalogFile, consulte a seção Versão INF.
Se você tiver mais de um pacote de driver, deverá criar um arquivo de catálogo separado para cada pacote de driver e dar a cada arquivo de catálogo um nome de arquivo exclusivo. Dois pacotes de driver não relacionados não podem compartilhar um único arquivo de catálogo. No entanto, um único pacote de driver que atende a vários dispositivos requer apenas um arquivo de catálogo.