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 ed è installato, per impostazione predefinita, nella cartella \Bin del percorso di installazione dell'SDK.
Lo strumento MakeCat usa la sintassi di comando seguente:
MakeCat [-n-r-v||] FileName
Parametri
Parametro | Descrizione |
---|---|
-n |
Non arrestarsi in un errore ripristinabile. |
-r |
Forza MakeCat alla fine se rileva errori recuperabili. In particolare, termina quando si elaborano le voci nella sezione 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 Osservazioni. |
Commenti
Il file 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 cdf deve sempre avere un carattere newline 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 la relativa estensione. |
ResultDir |
Directory in cui verrà inserito il file con estensione 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, viene passato "0x100" 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 passata 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 qualsiasi valore diverso da 1 o 2, lo strumento MakeCat verrà visualizzato 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'hash 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 tipo di codifica predefinito è 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. Ciò può includere tutti i caratteri di testo ASCII tranne il segno di uguale (=). Il sistema deve essere in grado di riprodurre questo tag dopo l'installazione. Usare <HASH> come prefisso del nome del file. Ciò comporta che il tag sia l'hash del file nel formato stringa ASCII. |
percorso file e nome |
Nome file, incluso 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 gli altri, possono essere aggiunti a un catalogo: .exe, .cab, .cat, .ocx, .dll e stl. |
ALTSIPID |
GUID SIP da usare per l'hashing anziché il SIP standard in base al tipo di file. Questa voce è facoltativa. Se questa voce viene omessa, il membro verrà hashato usando il sip predefinito. Se non viene trovato alcun SIP installato per impostazione predefinita, verrà usato flat SIP. |
guid |
Rappresentazione testuale di un GUID. |
ATTRx |
Facoltativa. Attributo o istruzione sul file o sul contenuto. Può essere presente un numero qualsiasi di attributi, inclusi nessuno. |
tipo |
Definisce il tipo di attributo aggiunto nel formato 0x00000000 (testo). Questa opzione può essere una combinazione bit per bit-OR di zero o più dei valori seguenti:
|
oid |
Rappresentazione di testo della chiave di riferimento dell'attributo. È un OID sotto forma di stringa di testo in notazione quad tratteggiata ,ad esempio a.b.c.d) o un nome di testo. |
Valore |
Rappresentazione di testo del valore dell'attributo. Il tipo di rappresentazione di testo usato dipende dal valore dell'opzione di tipo. I caratteri EOL determinano la lunghezza. |
<HASH> |
Hash del file specificato. |
Il file di catalogo generato non è firmato. Se deve essere firmato prima della trasmissione, viene firmato con SignTool.