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:
|
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.