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.
Plug and Play instalação do dispositivo (PnP) reconhece o arquivo de catálogo assinado de um pacote de driver como a assinatura digital do pacote de driver, em que cada impressão digital no arquivo de catálogo corresponde a um arquivo instalado pelo pacote de driver. 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 após a assinatura do pacote de driver. Esses arquivos incluem o arquivo INF, o arquivo de catálogo e todos os arquivos copiados pelas diretivas CopyFiles do INF. Por exemplo, até mesmo uma alteração de byte único para corrigir um erro de ortografia invalida a assinatura digital. Se a assinatura digital for inválida, você deverá reenviar o pacote de driver para o WHQL (Hardware Quality Labs) 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 do 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 ao WHQL para uma nova assinatura ou gerar uma nova assinatura Authenticode para o pacote de driver. Você deve fazer isso 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. Observe que 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 será instalado automaticamente no CatRoot quando o pacote de driver for preparado para o Repositório de Driver e será desinstalado automaticamente do CatRoot quando o pacote de driver for 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ãocorada. 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 do 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.