Partilhar via


MakeCat

A ferramenta MakeCat é uma ferramenta CryptoAPI que cria um arquivo de catálogo. O MakeCat está disponível como parte do Microsoft Windows Software Development Kit (SDK) para Windows 7 e .NET Framework 4.0 e é instalado, por padrão, na pasta \Bin do caminho de instalação do SDK.

A ferramenta MakeCat usa a seguinte sintaxe de comando:

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

Parâmetros

Parâmetro Descrição
-n
Não pare com um erro recuperável.
-r
Força o MakeCat a terminar se encontrar erros recuperáveis. Especificamente, ele terminará ao processar as entradas na seção de arquivos de catálogo de um arquivo .cdf.
-V
Verborrágico. Exibe todas as mensagens de progresso e erro.
Nome do arquivo
Nome do arquivo .cdf a ser analisado. Para obter a estrutura e o conteúdo necessários, consulte Observações.

 

Comentários

O arquivo .cdf deve ser construído com as seguintes especificações.

[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

Observação

A última entrada no arquivo .cdf deve sempre ter um caractere de nova linha explícito no final da linha.

 

A seção [CatalogHeader] define informações sobre todo o arquivo de catálogo.

Opção Descrição
Designação
Nome do arquivo de catálogo, incluindo sua extensão.
ResultDir
Diretório onde o arquivo .cat criado será colocado. Se não for indicado, o diretório atual padrão será usado. Se o diretório não existir, ele será criado.
Versão Pública
Esta opção não é suportada.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: versão catálogo. Se deixado em branco, o valor padrão, 1, é usado.

CatalogVersion
Versão do catálogo. Se a versão não estiver presente ou estiver definida como 1, "0x100" será passado para o parâmetro dwPublicVersion da funçãoCryptCATOpene um arquivo de catálogo da versão 1 será criado. A opção HashAlgorithms deve estar vazia ou conter SHA1.
Se a versão estiver definida como 2, "0x200" será passado para o parâmetro dwPublicVersion da funçãoCryptCATOpen e um arquivo de catálogo da versão 2 será criado. A opção HashAlgorithms deve conter SHA256.
Se essa opção estiver presente, mas contiver qualquer valor diferente de 1 ou 2, a ferramenta MakeCat apresentará um erro.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Esta opção não é suportada.

HashAlgorithms
Nome do algoritmo de hash usado. Para obter mais informações, consulte a opção CatalogVersion.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Esta opção não é suportada.

PageHashes
Especifica se os arquivos listados na opção <HASH> na seção [CatalogFiles] devem ser feitos
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Esta opção não é suportada.

Tipo de codificação
Tipo de codificação de mensagem usada. Se deixado em branco, o EncodingType padrão é PKCS_7_ASN_ENCODING | X509_ASN_ENCODING, 0x00010001.

 

A seção [CatalogFiles] define cada membro do arquivo de catálogo com arquivos de vários tipos e atributos de vários tipos em grupos separados.

Opção Descrição
tag de referência
Referência de texto ao ficheiro. Isso pode incluir quaisquer caracteres de texto ASCII, exceto o sinal de igual (=). O sistema deve ser capaz de reproduzir esta etiqueta após a instalação.
Use <> HASH como um prefixo do nome do arquivo. Isso resulta na tag sendo o hash do arquivo na forma de string ASCII.
caminho e nome do arquivo
O nome do arquivo, incluindo a extensão a ser analisada e o caminho relativo para o arquivo. Qualquer tipo de arquivo que possa ser assinado com o SignTool pode ser adicionado a um catálogo. Por exemplo, nomes de arquivo com as seguintes extensões, entre outros, podem ser adicionados a um catálogo: .exe, .cab, .cat, .ocx, .dlle .stl.
ALTSIPID
GUID SIP que deve ser usado para hashing em vez do SIP padrão com base no tipo de arquivo. Esta entrada é opcional. Se essa entrada for omitida, o membro será colocado em hash usando o SIP padrão. Se nenhum SIP instalado padrão for encontrado, o SIP simples será usado.
GUID
Representação de texto de um GUID.
ATTRx
Opcional. Atributo ou instrução sobre o arquivo ou conteúdo. Pode haver qualquer número de atributos, incluindo nenhum.
tipo
Define que tipo de atributo está sendo adicionado no formato 0x00000000 (texto). Esta opção pode ser um bit aOU combinação de zero ou mais dos seguintes valores:
  • 0x10000000 Atributo autenticado (assinado, incluído no hash).
  • 0x20000000 Atributo não autenticado (não assinado, não incluído no hash, não verificável).
  • 0x01000000 atributo não será replicado para entradas SHA1 em um catálogo CatalogVersion 2.
  • 0x00010000 atributo é representado em texto sem formatação. Nenhuma conversão será feita.
  • 0x00020000 atributo é representado na codificação base-64. Isso é usado para representar dados binários.
  • 0x00000001 Atributo é um par nome-valor. Use a opção oid para o nome. Este atributo é lento; portanto, use esta opção com moderação.
  • 0x00000002 atributo é referenciado por umde identificador de objeto(OID).

Oide
A representação de texto da chave de referência do atributo. É um OID na forma de uma cadeia de texto em notação quad pontilhada (por exemplo, a.b.c.d) ou um nome de texto.
valor
A representação de texto do valor do atributo. O tipo de representação de texto usado depende do valor da opção de tipo. Os caracteres EOL determinam o comprimento.
<HASH>
Hashes o arquivo especificado.

 

O arquivo de catálogo gerado não está assinado. Se for para ser assinado antes da transmissão, ele é assinado usando SignTool.