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 está 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 em 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 arquivos de catálogo de um arquivo .cdf. |
-v |
Detalhado. Exibe todas as mensagens de progresso e erro. |
FileName |
Nome do arquivo .cdf a ser analisado. Para obter a estrutura e o conteúdo necessários, consulte Comentários. |
Comentários
O arquivo .cdf deve ser criado com as especificações a seguir.
[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 |
---|---|
Nome |
Nome do arquivo de catálogo, incluindo sua extensão. |
ResultDir |
Diretório em que 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. |
PublicVersion |
Não há suporte para essa opção. Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Versão do catálogo. Se deixado em branco, o valor padrão, 1, será 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ção CryptCATOpen e 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 for definida como 2, "0x200" será passado para o parâmetro dwPublicVersion da função CryptCATOpen 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 errou. Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para essa opção. |
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: Não há suporte para essa opção. |
PageHashes |
Especifica se os arquivos listados na opção <HASH devem ser hash> na seção [CatalogFiles] Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para essa opção. |
EncodingType |
Tipo de codificação de mensagem usada. Se deixado em branco, o EncodingType padrão será 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 |
---|---|
marca de referência |
Referência de texto para o arquivo. Isso pode incluir todos os caracteres de texto ASCII, exceto o sinal de igual (=). O sistema deve ser capaz de reproduzir essa marca após a instalação. Use <HASH> como um prefixo do nome do arquivo. Isso faz com que a marca seja o hash do arquivo no formulário de cadeia de caracteres 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, .dll e .stl. |
ALTSIPID |
GUID SIP que deve ser usado para hash em vez do SIP padrão com base no tipo de arquivo. Essa entrada é opcional. Se essa entrada for omitida, o membro será 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 qual tipo de atributo está sendo adicionado no formato 0x00000000 (texto). Essa opção pode ser uma combinação or bit a bit de zero ou mais dos seguintes valores:
|
oid |
A representação de texto da chave de referência do atributo. É um OID na forma de uma cadeia de caracteres de texto na notação quad pontilhada (por exemplo, a.b.c.d) ou um nome de texto. |
value |
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 do transmittal, ele será assinado usando SignTool.