Verwenden von MakeCat
Das MakeCat-Tool stellt eine nicht signierte Katalogdatei her, die die Hashes einer Gruppe von Dateien zusammen mit den zugeordneten Attributen jeder Datei im Satz enthält. Mit einer Katalogdatei kann der Benutzer eine Datei (den Katalog) signieren, anstatt zahlreiche einzelne Dateien zu signieren.
Nachdem die nicht signierte Katalogdatei signiert und übertragen wurde, kann der Empfänger die Hashes der ursprünglichen Dateien mit den Hashes in der Katalogdatei vergleichen und überprüfen, ob die Dateien manipulationsfrei sind.
Vor der Verwendung des MakeCat-Tools muss der Benutzer eine Katalogdefinitionsdatei (CDF) mit einem beliebigen Text-Editor vorbereiten. Die CDF-Datei enthält die Liste der Dateien und die Attribute der zu katalogisierenden Dateien (die Spezifikationen sind unten aufgeführt). Das MakeCat-Tool scannt die CDF-Datei, überprüft die Liste der Attribute jeder aufgelisteten Datei, fügt die aufgelisteten Attribute dem Katalog selbst hinzu, hasht jede der aufgelisteten Dateien und speichert die Hashes jeder Datei in der Katalogdatei. Jede Datei verfügt über einen separaten Hash und attribute, die im Katalog gespeichert sind. Diese Katalogdatei kann dann signiert und übertragen werden. Der Empfänger kann anschließend den Hash jeder Datei innerhalb des Katalogs mit dem Hash der ursprünglichen Dateien vergleichen, um nachzuweisen, dass der ursprüngliche Inhalt nicht manipuliert werden kann. MakeCat ändert die CDF-Datei nicht.
In den folgenden Beispielen werden MakeCat-Befehle verwendet.
Generieren Sie eine Katalogdatei aus der Datei Good.cdf.
MakeCat -v good.cdf
Die Datei Good.cdf erstellt eine Katalogdatei Good.cat, indem sie die Dateien UnsignedPE.exe, UnsignedDOS.exe, Unsigned.cab, Unsigned.Class und SignedPE.exe analysieren. Die analysierten Dateien sowie Good.cdf und die neu generierten Good.cat befinden sich alle im selben Verzeichnis.
[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
Hinweis
Der letzte Eintrag in der CDF-Datei muss immer ein explizites Zeilenzeilenzeichen am Ende der Zeile aufweisen.