Compartir a través de


Uso de MakeCat

La herramienta MakeCat crea un archivo de catálogo sin firmar, que contiene los hashes de un conjunto de archivos junto con los atributos asociados de cada archivo del conjunto. Un archivo de catálogo permite al usuario firmar un archivo (el catálogo) en lugar de firmar numerosos archivos individuales.

Después de firmar y transmitir el archivo de catálogo sin firmar, el receptor puede comparar los hashes de los archivos originales con los hash contenidos en el archivo de catálogo y comprobar que los archivos están libres de alteraciones.

Antes de usar la herramienta MakeCat , el usuario debe preparar un archivo de definición de catálogo (.cdf), mediante cualquier editor de texto. El archivo .cdf contiene la lista de archivos y los atributos de los archivos que se van a catalogar (las especificaciones se enumeran a continuación). La herramienta MakeCat examina el archivo .cdf, comprueba la lista de atributos de cada archivo enumerado, agrega los atributos enumerados al propio catálogo, aplica un hash a cada uno de los archivos enumerados y almacena los hashes de cada archivo en el archivo de catálogo. Cada archivo tiene su hash y atributos almacenados por separado dentro del catálogo. Este archivo de catálogo se puede firmar y transmitir. Posteriormente, el receptor puede comparar el hash de cada archivo dentro del catálogo con el hash de los archivos originales para demostrar que el contenido original está libre de alteraciones. MakeCat no modifica el archivo .cdf.

En los ejemplos siguientes se usan comandos MakeCat .

  • Genere un archivo de catálogo desde el archivo Good.cdf.

    MakeCat -v good.cdf

Un archivo, Good.cdf, genera un archivo de catálogo, Good.cat, al analizar los archivos UnsignedPE.exe, UnsignedDOS.exe, Unsigned.cab, Unsigned.Class y SignedPE.exe. Los archivos analizados, junto con Good.cdf y el Good.cat recién generado, están todos en el mismo directorio.

[CatalogHeader]
Name=Good.cat
ResultDir=.\
PublicVersion=0x00000001
EncodingType=
CATATTR1=0x10010001:Movie1:FirstMovie
CATATTR2=0x10010001:Movie2:SecondMovie
CATATTR3=0x10010001:Movie3:ThirdMovie

[CatalogFiles]
UnsignedPE=.\UnsignedPE.EXE
UnsignedDOS=.\UnsignedDOS.EXE
<HASH>UnsignedCAB=.\Unsigned.CAB
UnsignedClass=.\Unsigned.Class
SignedPE=.\SignedPE.EXE

Nota

La última entrada del archivo .cdf siempre debe tener un carácter de nueva línea explícito al final de la línea.