MakeCat
Средство MakeCat — это средство CryptoAPI, создающее файл каталога. MakeCat доступен в составе пакета SDK для Microsoft Windows (SDK) для Windows 7 и .NET Framework 4.0 и устанавливается по умолчанию в папке \Bin пути установки пакета SDK.
Средство MakeCat использует следующий синтаксис команды:
MakeCat [-n|-r|-v] Имя файла
Параметры
Параметр | Описание |
---|---|
-n |
Не останавливаться на ошибке, допускаемой для восстановления. |
-r |
Принудить MakeCat завершиться, если возникают ошибки, доступные для восстановления. В частности, он завершится при обработке записей в разделе файлов каталога cdf-файла. |
-v |
Многословный. Отображает все сообщения о ходе выполнения и ошибках. |
Имя файла |
Имя CDF-файла для анализа. Сведения о требуемой структуре и содержимом см. в разделе "Примечания". |
Замечания
CDF-файл должен быть построен со следующими спецификациями.
[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
Заметка
Последняя запись в CDF-файле всегда должна иметь явный символ новой строки в конце строки.
В разделе [CatalogHeader] определяются сведения обо всем файле каталога.
Выбор | Описание |
---|---|
Имя |
Имя файла каталога, включая его расширение. |
ResultDir |
Каталог, в котором будет помещен созданный CAT-файл. Если не указано, используется текущий каталог по умолчанию. Если каталог не существует, он создается. |
PublicVersion |
Этот параметр не поддерживается. Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: версия каталога. Если осталось пустым, используется значение по умолчанию 1. |
CatalogVersion |
Версия каталога. Если версия отсутствует или имеет значение 1, то 0x100 передается параметру dwPublicVersion dwPublicVersion функцииCryptCATOpen и создается файл каталога версии 1. Параметр HashAlgorithms должен быть пустым или содержать SHA1. Если для версии задано значение 2, то функция 0x200 передается в параметр dwPublicVersion функции CryptCATOpen и создается файл каталога версии 2. Параметр HashAlgorithms должен содержать SHA256. Если этот параметр присутствует, но содержит любое значение, отличное от 1 или 2, средство MakeCat завершит ошибку. Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот параметр не поддерживается. |
HashAlgorithms |
Имя используемого алгоритма хэширования. Дополнительные сведения см. в параметре CatalogVersion. Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот параметр не поддерживается. |
PageHashes |
Указывает, следует ли хэшировать файлы, перечисленные в параметре HAS> H <HASH, в разделе [CatalogFiles] Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот параметр не поддерживается. |
КодировкаType |
Используемый тип кодирования сообщений. Если осталось пустым, кодировка по умолчанию PKCS_7_ASN_ENCODING | X509_ASN_ENCODING, 0x00010001. |
В разделе [CatalogFiles] определяется каждый член файла каталога с файлами различных типов и атрибутов различных типов в отдельных группах.
Созданный файл каталога не назначен. Если он должен быть подписан перед передачей, он подписан с помощью SignTool.