MakeCat
L’outil MakeCat est un outil CryptoAPI qui crée un fichier catalogue. MakeCat est disponible dans le cadre du Kit de développement logiciel (SDK) Microsoft Windows pour Windows 7 et .NET Framework 4.0 et est installé, par défaut, dans le dossier \Bin du chemin d’installation du SDK.
L’outil MakeCat utilise la syntaxe de commande suivante :
MakeCat [-n-r-v||] FileName
Paramètres
Paramètre | Description |
---|---|
-n |
Ne vous arrêtez pas en cas d’erreur récupérable. |
-r |
Force MakeCat à se terminer s’il rencontre des erreurs récupérables. Plus précisément, il se termine lors du traitement des entrées dans la section fichiers catalogue d’un fichier .cdf. |
-v |
Verbose. Affiche tous les messages de progression et d’erreur. |
FileName |
Nom du fichier .cdf à analyser. Pour connaître la structure et le contenu requis, consultez Remarques. |
Notes
Le fichier .cdf doit être généré avec les spécifications suivantes.
[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
Notes
La dernière entrée du fichier .cdf doit toujours avoir un caractère de nouvelle ligne explicite à la fin de la ligne.
La section [CatalogHeader] définit des informations sur l’ensemble du fichier catalogue.
Option | Description |
---|---|
Nom |
Nom du fichier catalogue, y compris son extension. |
ResultDir |
Répertoire où le fichier .cat créé sera placé. Si ce n’est pas indiqué, le répertoire actif par défaut est utilisé. Si le répertoire n’existe pas, il est créé. |
PublicVersion |
Cette option n'est pas prise en charge. Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Version du catalogue. Si elle est vide, la valeur par défaut, 1, est utilisée. |
CatalogVersion |
Version du catalogue. Si la version n’est pas présente ou est définie sur 1, « 0x100 » est passé au paramètre dwPublicVersion de la fonction CryptCATOpen et un fichier catalogue version 1 est créé. L’option HashAlgorithms doit être vide ou contenir SHA1. Si la version est définie sur 2, « 0x200 » est passé au paramètre dwPublicVersion de la fonction CryptCATOpen et un fichier catalogue version 2 est créé. L’option HashAlgorithms doit contenir SHA256. Si cette option est présente mais contient une valeur autre que 1 ou 2, l’outil MakeCat présente une erreur. Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cette option n’est pas prise en charge. |
HachageAlgorithms |
Nom de l’algorithme de hachage utilisé. Pour plus d’informations, consultez l’option CatalogVersion. Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cette option n’est pas prise en charge. |
PageHashes |
Spécifie s’il faut hacher les fichiers répertoriés dans l’option <HASH> de la section [CatalogFiles] Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Cette option n’est pas prise en charge. |
EncodingType |
Type d’encodage de message utilisé. S’il n’est pas renseigné, le type d’encodage par défaut est PKCS_7_ASN_ENCODING | X509_ASN_ENCODING, 0x00010001. |
La section [CatalogFiles] définit chaque membre du fichier catalogue avec des fichiers de différents types et attributs de différents types dans des groupes distincts.
Option | Description |
---|---|
balise de référence |
Référence de texte au fichier. Cela peut inclure tous les caractères de texte ASCII à l’exception du signe égal (=). Le système doit être en mesure de reproduire cette étiquette après l’installation. Utilisez <HASH> comme préfixe du nom de fichier. Par conséquent, la balise est le hachage du fichier sous forme de chaîne ASCII. |
chemin d’accès et nom du fichier |
Nom du fichier, y compris l’extension à analyser et le chemin d’accès relatif au fichier. Tout type de fichier pouvant être signé avec SignTool peut être ajouté à un catalogue. Par exemple, les noms de fichiers avec les extensions suivantes, entre autres, peuvent être ajoutés à un catalogue : .exe, .cab, .cat, .ocx, .dll et .stl. |
ALTSIPID |
GUID SIP qui doit être utilisé pour le hachage au lieu du SIP standard basé sur le type de fichier. Cette entrée est facultative. Si cette entrée est omise, le membre est haché à l’aide du SIP par défaut. Si aucun SIP installé par défaut n’est trouvé, le SIP plat est utilisé. |
guid |
Représentation textuelle d’un GUID. |
ATTRx |
Optionnel. Attribut ou instruction concernant le fichier ou le contenu. Il peut y avoir n’importe quel nombre d’attributs, y compris aucun. |
type |
Définit le type d’attribut ajouté au format 0x00000000 (texte). Cette option peut être une combinaison ou au niveau du bit de zéro ou plus des valeurs suivantes :
|
oid |
Représentation textuelle de la clé de référence de l’attribut. Il s’agit d’un OID sous la forme d’une chaîne de texte en notation à quatre points (par exemple, a.b.c.d) ou d’un nom de texte. |
value |
Représentation textuelle de la valeur de l’attribut. Le type de représentation textuelle utilisée dépend de la valeur de l’option de type. Les caractères EOL déterminent la longueur. |
<HASH> |
Hache le fichier spécifié. |
Le fichier catalogue généré n’est pas signé. S’il doit être signé avant la transmission, il est signé à l’aide de SignTool.