MakeCat

Lo strumento MakeCat è uno strumento CryptoAPI che crea un file di catalogo. MakeCat è disponibile come parte di Microsoft Windows Software Development Kit (SDK) per Windows 7 e .NET Framework 4.0 e viene installato, per impostazione predefinita, nella cartella Bin del percorso di installazione \ dell'SDK.

Lo strumento MakeCat usa la sintassi del comando seguente:

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

Parametri

Parametro Descrizione
-n
Non arrestarsi in caso di errore ripristinabile.
-r
Forza la terminazione di MakeCat se si verificano errori ripristinabili. In particolare, terminerà durante l'elaborazione delle voci nella sezione dei file di catalogo di un file con estensione cdf.
-v
Dettagliato. Visualizza tutti i messaggi di stato e di errore.
FileName
Nome del file con estensione cdf da analizzare. Per la struttura e il contenuto necessari, vedere Note.

Commenti

Il file con estensione cdf deve essere compilato con le specifiche seguenti.

[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

Nota

L'ultima voce nel file con estensione cdf deve avere sempre un carattere di nuova riga esplicito alla fine della riga.

La [ sezione CatalogHeader ] definisce le informazioni sull'intero file di catalogo.

Opzione Descrizione
Nome
Nome del file di catalogo, inclusa l'estensione.
ResultDir
Directory in cui verrà inserito il file cat creato. Se non indicato, viene usata la directory corrente predefinita. Se la directory non esiste, viene creata.
PublicVersion
Questa opzione non è supportata.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Versione del catalogo. Se viene lasciato vuoto, viene usato il valore predefinito 1.

CatalogVersion
Versione del catalogo. Se la versione non è presente o è impostata su 1, "0x100" viene passato al parametro dwPublicVersion della funzione CryptCATOpen e viene creato un file di catalogo versione 1. L'opzione HashAlgorithms deve essere vuota o contenere SHA1.
Se la versione è impostata su 2, "0x200" viene passato al parametro dwPublicVersion della funzione CryptCATOpen e viene creato un file di catalogo versione 2. L'opzione HashAlgorithms deve contenere SHA256.
Se questa opzione è presente ma contiene un valore diverso da 1 o 2, lo strumento MakeCat restituirà un errore.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questa opzione non è supportata.

HashAlgorithms
Nome dell'algoritmo hash usato. Per altre informazioni, vedere l'opzione CatalogVersion.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questa opzione non è supportata.

PageHashes
Specifica se eseguire l'hashing dei file elencati < nell'opzione HASH nella sezione > [ ] CatalogFiles
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questa opzione non è supportata.

EncodingType
Tipo di codifica dei messaggi usata. Se viene lasciato vuoto, il valore predefinito di EncodingType è PKCS _ 7 _ ASN _ ENCODING | X509 _ ASN _ ENCODING, 0x00010001.

La sezione CatalogFiles definisce ogni membro del file di catalogo con file di vari tipi e [ attributi di vari tipi in gruppi ] separati.

Opzione Descrizione
tag di riferimento
Riferimento di testo al file. Può includere qualsiasi carattere di testo ASCII ad eccezione del segno di uguale (=). Il sistema deve essere in grado di riprodurre questo tag dopo l'installazione.
Usare < HASH come prefisso del nome > file. Il tag è quindi l'hash del file in formato stringa ASCII.
percorso e nome del file
Nome del file, inclusa l'estensione da analizzare e il percorso relativo del file. Qualsiasi tipo di file che può essere firmato con SignTool può essere aggiunto a un catalogo. Ad esempio, i nomi di file con le estensioni seguenti, tra cui, possono essere aggiunti a un catalogo: .exe, .cab, cat, ocx, .dll e stl.
ALTSIPID
GUID DI SIP da usare per l'hashing anziché il PROTOCOLLO SIP standard in base al tipo di file. Questa voce è facoltativa. Se questa voce viene omessa, verrà eseguito l'hashing del membro usando il protocollo SIP predefinito. Se non viene trovato alcun SIP installato predefinito, verrà usato il protocollo SIP flat.
guid
Rappresentazione testuale di un GUID.
ATTRx
facoltativo. Attributo o istruzione sul file o sul contenuto. Può essere presente un numero qualsiasi di attributi, incluso nessuno.
tipo
Definisce il tipo di attributo aggiunto nel formato 0x00000000 (testo). Questa opzione può essere una combinazioneOR bit per bit di zero o più dei valori seguenti:
  • 0x10000000 attributo Authenticated (firmato, incluso nell'hash).
  • 0x20000000 attributo Non autenticato (senza segno, non incluso nell'hash, non verificabile).
  • 0x01000000'attributo non verrà replicato nelle voci SHA1 in un catalogo CatalogVersion 2.
  • 0x00010000 attributo è rappresentato in testo non crittografato. Non verrà eseguita alcuna conversione.
  • 0x00020000 attributo è rappresentato nella codifica in base 64. Viene usato per rappresentare dati binari.
  • 0x00000001 Attributo è una coppia nome-valore. Usare l'opzione oid per il nome. Questo attributo è lento. Pertanto, usare questa opzione con parsimonio.
  • 0x00000002'attributo viene fatto riferimento da un identificatore di oggetto (OID).

oid
Rappresentazione testuale della chiave di riferimento dell'attributo. Si tratta di un OID sotto forma di stringa di testo in notazione quadretta punteggiata (ad esempio, a.b.c.d) o un nome di testo.
Valore
Rappresentazione testuale del valore dell'attributo. Il tipo di rappresentazione del testo usato dipende dal valore dell'opzione type. I caratteri EOL determinano la lunghezza.
<HASH>
Esegue l'hashing del file specificato.

Il file di catalogo generato non è firmato. Se deve essere firmato prima della trasmissione, viene firmato usando SignTool.