Udostępnij za pośrednictwem


MakeCat

Narzędzie MakeCat to narzędzie CryptoAPI, które tworzy plik wykazu. Program MakeCat jest dostępny w ramach zestawu Microsoft Windows Software Development Kit (SDK) dla systemów Windows 7 i .NET Framework 4.0 i jest instalowany domyślnie w folderze \Bin ścieżki instalacyjnej zestawu SDK.

Narzędzie MakeCat używa następującej składni polecenia:

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

Parametry

Parametr Opis
-n
Nie należy zatrzymywać się po błędzie, który można odzyskać.
-r
Wymusza zakończenie polecenia MakeCat, jeśli wystąpią błędy możliwe do odzyskania. W szczególności zakończy się przetwarzanie wpisów w sekcji plików katalogu pliku cdf.
-v
Gadatliwy. Wyświetla wszystkie komunikaty o postępie i błędach.
FileName
Nazwa pliku cdf, który ma zostać przeanalizowany. Aby uzyskać wymaganą strukturę i zawartość, zobacz Uwagi.

 

Uwagi

Plik cdf musi być skompilowany przy użyciu następujących specyfikacji.

[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

Nuta

Ostatni wpis w pliku cdf musi zawsze mieć jawny znak nowego wiersza na końcu wiersza.

 

Sekcja [CatalogHeader] definiuje informacje o całym pliku wykazu.

Opcja Opis
Nazwa
Nazwa pliku wykazu, w tym jego rozszerzenie.
ResultDir
Katalog, w którym zostanie umieszczony utworzony plik cat. Jeśli nie zostanie wskazany, zostanie użyty domyślny bieżący katalog. Jeśli katalog nie istnieje, zostanie utworzony.
PublicVersion
Ta opcja nie jest obsługiwana.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 i Windows XP: wersja katalogu. Jeśli pole pozostanie puste, zostanie użyta wartość domyślna 1.

CatalogVersion
Wersja wykazu. Jeśli wersja nie jest obecna lub jest ustawiona na 1, zostanie przekazana wartość "0x100" do parametru dwPublicVersion funkcji CryptCATOpen i zostanie utworzony plik wykazu w wersji 1. Opcja HashAlgorithms musi być pusta lub zawierać algorytm SHA1.
Jeśli wersja jest ustawiona na 2, parametr "0x200" zostanie przekazany do parametru dwPublicVersion funkcji CryptCATOpen i zostanie utworzony plik wykazu w wersji 2. Opcja HashAlgorithms musi zawierać algorytm SHA256.
Jeśli ta opcja jest obecna, ale zawiera dowolną wartość inną niż 1 lub 2, narzędzie MakeCat spowoduje błąd.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 i Windows XP: Ta opcja nie jest obsługiwana.

HashAlgorithms
Nazwa używanego algorytmu tworzenia skrótów. Aby uzyskać więcej informacji, zobacz opcję CatalogVersion.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 i Windows XP: Ta opcja nie jest obsługiwana.

Skróty stron
Określa, czy skrót plików wymienionych w <hasH opcji> w sekcji [CatalogFiles]
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 i Windows XP: Ta opcja nie jest obsługiwana.

Typ kodowania
Typ używanego kodowania komunikatów. Jeśli pole pozostanie puste, domyślny typ kodowania to PKCS_7_ASN_ENCODING | X509_ASN_ENCODING, 0x00010001.

 

Sekcja [CatalogFiles] definiuje każdy element członkowski pliku wykazu z plikami różnych typów i atrybutów różnych typów w osobnych grupach.

Opcja Opis
tag odwołania
Odwołanie tekstowe do pliku. Może to zawierać dowolne znaki tekstowe ASCII, z wyjątkiem znaku równości (=). System musi mieć możliwość odtworzenia tego tagu po instalacji.
Użyj <hash> jako prefiks nazwy pliku. Powoduje to, że tag jest skrótem pliku w postaci ciągu ASCII.
ścieżka i nazwa pliku
Nazwa pliku, w tym rozszerzenie, które ma zostać przeanalizowane, oraz ścieżka względna do pliku. Do katalogu można dodać dowolny typ pliku, który można podpisać za pomocą narzędzia SignTool. Na przykład nazwy plików z następującymi rozszerzeniami można między innymi dodać do katalogu: .exe, .cab, .cat, ocx, .dlli .stl.
ALTSIPID
IDENTYFIKATOR GUID SIP, który ma być używany do tworzenia skrótów zamiast standardowego SIP na podstawie typu pliku. Ten wpis jest opcjonalny. Jeśli ten wpis zostanie pominięty, element członkowski zostanie skrócony przy użyciu domyślnego SIP. Jeśli nie zostanie znaleziona domyślna zainstalowana usługa SIP, zostanie użyta funkcja Flat SIP.
guid
Tekstowa reprezentacja identyfikatora GUID.
ATTRx
Fakultatywny. Atrybut lub instrukcja dotycząca pliku lub zawartości. Może istnieć dowolna liczba atrybutów, w tym brak.
typ
Definiuje typ atrybutu dodawanego w formacie 0x00000000 (tekst). Ta opcja może być bitowo-LUB kombinacji zera lub więcej z następujących wartości:
  • 0x10000000 uwierzytelniony atrybut (podpisany, dołączony do skrótu).
  • 0x20000000 nieuwierzytelniony atrybut (niepodpisany, nieuwzględniony w skrótzie, a nie weryfikowalny).
  • 0x01000000 Atrybut nie zostanie zreplikowany do wpisów SHA1 w katalogu CatalogVersion 2.
  • 0x00010000 Atrybut jest reprezentowany w postaci zwykłego tekstu. Nie zostanie wykonana konwersja.
  • 0x00020000 Atrybut jest reprezentowany w kodowaniu base-64. Służy do reprezentowania danych binarnych.
  • 0x00000001 Attribute jest parą name-value. Użyj opcji oid dla nazwy. Ten atrybut działa wolno; dlatego należy użyć tej opcji oszczędnie.
  • 0x00000002 Atrybut jest przywołytyny przez identyfikator obiektu (OID).

Oid
Tekstowa reprezentacja klucza referencyjnego atrybutu. Jest to identyfikator OID w postaci ciągu tekstowego w notacji czworokąta kropkowanego (na przykład a.b.c.d) lub nazwy tekstowej.
wartość
Tekstowa reprezentacja wartości atrybutu. Typ używanej reprezentacji tekstu zależy od wartości opcji typu. Znaki EOL określają długość.
> skrótu <
Skróty określonego pliku.

 

Wygenerowany plik wykazu jest niepodpisany. Jeśli ma zostać podpisany przed przesłaniem, jest podpisany przy użyciu narzędzia SignTool.