Freigeben über


MakeCat

Das MakeCat-Tool ist ein CryptoAPI-Tool, das eine Katalogdatei erstellt. MakeCat ist als Teil des Microsoft Windows Software Development Kit (SDK) für Windows 7 und .NET Framework 4.0 verfügbar und standardmäßig im Ordner "\Bin" des SDK-Installationspfads installiert.

Das MakeCat-Tool verwendet die folgende Befehlssyntax:

MakeCat [-n|-r|-v] FileName-

Parameter

Parameter Beschreibung
-n
Beenden Sie nicht bei einem wiederherstellbaren Fehler.
-r
Erzwingt MakeCat am Ende, wenn es auf wiederherstellbare Fehler stößt. Insbesondere endet er beim Verarbeiten der Einträge im Abschnitt "Katalogdateien" einer CDF-Datei.
-v
Wortreich. Zeigt alle Status- und Fehlermeldungen an.
FileName-
Der Name der CDF-Datei, die analysiert werden soll. Erforderliche Struktur und Inhalte finden Sie in den Hinweisen.

 

Bemerkungen

Die CDF-Datei muss mit den folgenden Spezifikationen erstellt werden.

[CatalogHeader]
Name=Name              
ResultDir=ResultDir   
PublicVersion=[|1]
CatalogVersion = [|1|2]
HashAlgorithms=[|SHA1|SHA256]
PageHashes=[true|false]
EncodingType=Encodingtype 
CATATTR1={type}:{oid}:{value} (optional)
CATATTR2={type}:{oid}:{value} (optional)

[CatalogFiles]
{reference tag}=file path and name
{reference tag}ALTSIPID={guid} (optional)
{reference tag}ATTR1={type}:{oid}:{value} (optional)
{reference tag}ATTR2={type}:{oid}:{value} (optional)
<HASH>kernel32.dll=kernel32.dll
<HASH>ntdll.dll=ntdll.dll

Anmerkung

Der letzte Eintrag in der CDF-Datei muss immer ein explizites Zeilenumbruchzeichen am Ende der Zeile aufweisen.

 

Der Abschnitt [CatalogHeader] definiert Informationen zur gesamten Katalogdatei.

Option Beschreibung
Name
Name der Katalogdatei, einschließlich der Erweiterung.
ResultDir
Verzeichnis, in dem die erstellte CAT-Datei abgelegt wird. Wenn nicht angegeben, wird das aktuelle Standardverzeichnis verwendet. Wenn das Verzeichnis nicht vorhanden ist, wird es erstellt.
PublicVersion
Diese Option wird nicht unterstützt.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Katalogversion. Wenn sie leer gelassen wird, wird der Standardwert 1 verwendet.

CatalogVersion
Katalogversion. Wenn die Version nicht vorhanden ist oder auf 1 festgelegt ist, wird "0x100" an den dwPublicVersion Parameter der CryptCATOpen-Funktion übergeben und eine Katalogdatei der Version 1 erstellt. Die Option "HashAlgorithms" muss leer sein oder SHA1 enthalten.
Wenn die Version auf 2 festgelegt ist, wird "0x200" an den dwPublicVersion Parameter der CryptCATOpen--Funktion übergeben, und eine Katalogdatei der Version 2 wird erstellt. Die Option "HashAlgorithms" muss SHA256 enthalten.
Wenn diese Option vorhanden ist, aber einen anderen Wert als 1 oder 2 enthält, tritt beim MakeCat-Tool ein Fehler auf.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Diese Option wird nicht unterstützt.

HashAlgorithms
Name des verwendeten Hashingalgorithmus. Weitere Informationen finden Sie in der CatalogVersion-Option.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Diese Option wird nicht unterstützt.

PageHashes
Gibt an, ob die in der Option <HASH-> im Abschnitt [CatalogFiles] aufgeführten Dateien hashen sollen.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Diese Option wird nicht unterstützt.

EncodingType
Typ der verwendeten Nachrichtencodierung. Wenn sie leer gelassen wird, ist der Standardcodierungstyp PKCS_7_ASN_ENCODING | X509_ASN_ENCODING, 0x00010001.

 

Der Abschnitt [CatalogFiles] definiert jedes Mitglied der Katalogdatei mit Dateien verschiedener Typen und Attributen verschiedener Typen in separaten Gruppen.

Option Beschreibung
Referenztag
Textverweis auf die Datei. Dies kann beliebige ASCII-Textzeichen mit Ausnahme des Gleichheitszeichens (=) enthalten. Das System muss dieses Tag nach der Installation reproduzieren können.
Verwenden Sie <HASH-> als Präfix des Dateinamens. Dies führt dazu, dass das Tag der Hash der Datei in ASCII-Zeichenfolgenform ist.
Dateipfad und -name
Der Dateiname, einschließlich der zu analysierenden Erweiterung und des relativen Pfads zur Datei. Jeder Dateityp, der mit SignTool signiert werden kann, kann einem Katalog hinzugefügt werden. Dateinamen mit den folgenden Erweiterungen können beispielsweise einem Katalog hinzugefügt werden: .exe, .cab, CAT, OCX, .dllund STL.
ALTSIPID
SIP-GUID, die anstelle des standardmäßigen SIP basierend auf dem Dateityp für hashing verwendet werden soll. Dieser Eintrag ist optional. Wenn dieser Eintrag nicht angegeben wird, wird das Element mit dem Standard-SIP hashed. Wenn kein standardmäßig installiertes SIP gefunden wird, wird das flache SIP verwendet.
guid
Textdarstellung einer GUID.
ATTRx
Wahlfrei. Attribut oder Anweisung zu der Datei oder dem Inhalt. Es kann eine beliebige Anzahl von Attributen geben, einschließlich keiner.
Art
Definiert, welche Art von Attribut im Format 0x00000000 (Text) hinzugefügt wird. Diese Option kann ein bitweiserODER Kombination aus Null oder mehr der folgenden Werte sein:
  • 0x10000000 Authenticated-Attribut (signiert, im Hash enthalten).
  • 0x20000000 Nicht authentifiziertes Attribut (nicht signiert, nicht im Hash enthalten, nicht überprüfbar).
  • 0x01000000 Attribut wird nicht in SHA1-Einträge in einem CatalogVersion 2-Katalog repliziert.
  • 0x00010000 Attribut wird im Nur-Text-Format dargestellt. Es erfolgt keine Konvertierung.
  • 0x00020000 Attribut wird in der Base64-Codierung dargestellt. Dies wird verwendet, um Binärdaten darzustellen.
  • 0x00000001 Attribut ist ein Name-Wert-Paar. Verwenden Sie die oid-Option für den Namen. Dieses Attribut ist langsam; Verwenden Sie daher diese Option sparsam.
  • 0x00000002 Attribut wird von einem Objektbezeichner (OID) referenziert.

oid
Die Textdarstellung des Referenzschlüssels des Attributs. Es handelt sich um ein OID in Form einer Textzeichenfolge in gepunkteter Quadnotation (z. B. a.b.c.d) oder einem Textnamen.
Wert
Die Textdarstellung des Werts des Attributs. Der verwendete Textdarstellungstyp hängt vom Wert der Typoption ab. Die EOL-Zeichen bestimmen die Länge.
<HASH->
Hasht die angegebene Datei.

 

Die generierte Katalogdatei ist nicht signiert. Wenn sie vor der Übertragung signiert werden soll, wird sie mit SignToolsigniert.