MakeCat
Het hulpprogramma MakeCat is een CryptoAPI-hulpprogramma waarmee een catalogusbestand wordt gemaakt. MakeCat is beschikbaar als onderdeel van de Microsoft Windows Software Development Kit (SDK) voor Windows 7 en .NET Framework 4.0 en wordt standaard geïnstalleerd in de map \Bin van het SDK-installatiepad.
Het hulpprogramma MakeCat gebruikt de volgende opdrachtsyntaxis:
MakeCat [-n|-r|-v] FileName
Parameters
Parameter | Beschrijving |
---|---|
-n- |
Stop niet op een herstelbare fout. |
-r- |
Dwingt MakeCat af als er herstelbare fouten optreden. Dit eindigt met name bij het verwerken van de vermeldingen in de sectie catalogusbestanden van een CDF-bestand. |
-v- |
Breedsprakig. Geeft alle voortgangs- en foutberichten weer. |
FileName- |
De naam van het CDF-bestand dat moet worden geparseerd. Zie Opmerkingen voor de vereiste structuur en inhoud. |
Opmerkingen
Het .cdf-bestand moet worden gebouwd met de volgende specificaties.
[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
Notitie
De laatste vermelding in het CDF-bestand moet altijd een expliciet nieuwlijnteken aan het einde van de regel hebben.
De sectie [CatalogHeader] definieert informatie over het hele catalogusbestand.
Optie | Beschrijving |
---|---|
Naam |
Naam van het catalogusbestand, inclusief de extensie. |
ResultDir |
Map waarin het gemaakte .cat-bestand wordt geplaatst. Als dit niet wordt aangegeven, wordt de standaard huidige map gebruikt. Als de map niet bestaat, wordt deze gemaakt. |
PublicVersion |
Deze optie wordt niet ondersteund. Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 en Windows XP: Catalogusversie. Als u niets opgeeft, wordt de standaardwaarde, 1, gebruikt. |
CatalogVersion |
Catalogusversie. Als de versie niet aanwezig is of is ingesteld op 1, wordt '0x100' doorgegeven aan de parameter dwPublicVersion van de functie CryptCATOpen en wordt er een catalogusbestand met versie 1 gemaakt. De optie HashAlgorithms moet leeg zijn of SHA1 bevatten. Als de versie is ingesteld op 2, wordt '0x200' doorgegeven aan de parameter dwPublicVersion van de functie CryptCATOpen en wordt er een catalogusbestand met versie 2 gemaakt. De optie HashAlgorithms moet SHA256 bevatten. Als deze optie aanwezig is, maar een andere waarde dan 1 of 2 bevat, wordt er een foutmelding weergegeven in het MakeCat-hulpprogramma. Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 en Windows XP: Deze optie wordt niet ondersteund. |
HashAlgorithms |
Naam van het hash-algoritme dat wordt gebruikt. Zie de optie CatalogVersion voor meer informatie. Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 en Windows XP: Deze optie wordt niet ondersteund. |
PageHashes |
Hiermee geeft u op of de bestanden moeten worden gehasht die worden vermeld in de <hash-> optie in de sectie [CatalogFiles] Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 en Windows XP: Deze optie wordt niet ondersteund. |
EncodingType |
Type berichtcodering dat wordt gebruikt. Als dit veld leeg blijft, is het standaard EncodingType PKCS_7_ASN_ENCODING | X509_ASN_ENCODING, 0x00010001. |
De sectie [CatalogFiles] definieert elk lid van het catalogusbestand met bestanden van verschillende typen en kenmerken van verschillende typen in afzonderlijke groepen.
Optie | Beschrijving |
---|---|
referentietag |
Tekstreferentie naar het bestand. Dit kan alle ASCII-teksttekens bevatten, behalve het gelijkteken (=). Het systeem moet deze tag na de installatie kunnen reproduceren. Gebruik <HASH-> als voorvoegsel van de bestandsnaam. Dit resulteert in de tag in de hash van het bestand in ascii-tekenreeksformulier. |
bestandspad en -naam |
De bestandsnaam, inclusief de extensie die moet worden geparseerd en het relatieve pad naar het bestand. Elk type bestand dat kan worden ondertekend met SignTool, kan worden toegevoegd aan een catalogus. Bestandsnamen met de volgende extensies kunnen bijvoorbeeld worden toegevoegd aan een catalogus: .exe, .cab, .cat, .ocx, .dllen .stl. |
ALTSIPID |
SIP-GUID die moet worden gebruikt voor hashing in plaats van de standaard SIP op basis van bestandstype. Deze vermelding is optioneel. Als deze vermelding wordt weggelaten, wordt het lid gehasht met behulp van de standaard-SIP. Als er geen standaard geïnstalleerde SIP wordt gevonden, wordt de Flat SIP gebruikt. |
Guid |
Tekstweergave van een GUID. |
ATTRx |
Facultatief. Kenmerk of instructie over het bestand of de inhoud. Er kan een willekeurig aantal kenmerken zijn, inclusief geen. |
type |
Hiermee definieert u welk type kenmerk wordt toegevoegd in de indeling 0x00000000 (tekst). Deze optie kan een bitsgewijzeOF combinatie van nul of meer van de volgende waarden zijn:
|
Oid |
De tekstweergave van de referentiesleutel van het kenmerk. Het is een OID in de vorm van een tekenreeks in gestippelde quad-notatie (bijvoorbeeld a.b.c.d) of een tekstnaam. |
waarde |
De tekstweergave van de waarde van het kenmerk. Het gebruikte type tekstweergave is afhankelijk van de waarde van de typeoptie. De EOL-tekens bepalen de lengte. |
<HASH-> |
Hashes het opgegeven bestand. |
Het gegenereerde catalogusbestand is niet ondertekend. Als het moet worden ondertekend vóór verzending, wordt het ondertekend met behulp van SignTool.