MakeCat
MakeCat ツールは、カタログ ファイルを作成する CryptoAPI ツールです。 MakeCat は、Windows 7 および .NET Framework 4.0 用 Microsoft Windows Software Development Kit (SDK) の一部として使用でき、既定では SDK インストール パスの \Bin フォルダーにインストールされます。
MakeCat ツールでは、次のコマンド構文が使用されます。
MakeCat [-n-r-v||] FileName
パラメーター
パラメーター | 説明 |
---|---|
-n |
回復可能なエラーで停止しないでください。 |
-r |
回復可能なエラーが発生した場合、MakeCat を強制的に終了します。 具体的には、.cdf ファイルのカタログ ファイル セクションのエントリを処理するときに終了します。 |
-v |
[詳細]: すべての進行状況とエラー メッセージを表示します。 |
FileName |
解析する .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
Note
.cdf ファイルの最後のエントリは、常に行の末尾に明示的な改行文字を含む必要があります。
[CatalogHeader] セクションでは、カタログ ファイル全体に関する情報を定義します。
オプション | 説明 |
---|---|
名前 |
カタログ ファイルの名前 (拡張子を含む)。 |
ResultDir |
作成された .cat ファイルが配置されるディレクトリ。 指定されていない場合は、既定の現在のディレクトリが使用されます。 ディレクトリが存在しない場合は、作成されます。 |
PublicVersion |
このオプションはサポートされていません。 Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: カタログ のバージョン。 空白のままにすると、既定値の 1 が使用されます。 |
CatalogVersion |
カタログ のバージョン。 バージョンが存在しない場合、または 1 に設定されている場合は、CryptCATOpen 関数の dwPublicVersion パラメーターに "0x100" が渡され、バージョン 1 のカタログ ファイルが作成されます。 HashAlgorithms オプションは空であるか、SHA1 を含んでいる必要があります。 バージョンが 2 に設定されている場合、CryptCATOpen 関数の dwPublicVersion パラメーターに "0x200" が渡され、バージョン 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 |
[CatalogFiles] セクションの HASH オプションに <一覧表示されているファイルをハッシュ> するかどうかを指定します Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: このオプションはサポートされていません。 |
EncodingType |
使用されるメッセージ エンコードの種類。 空白のままにした場合、既定の EncodingType は PKCS_7_ASN_ENCODING |X509_ASN_ENCODING、0x00010001。 |
[CatalogFiles] セクションでは、カタログ ファイルの各メンバーを、さまざまな種類のファイルとさまざまな種類の属性を別々のグループで定義します。
オプション | 説明 |
---|---|
参照タグ |
ファイルへのテキスト参照。 これには、等号 (=) を除く任意の ASCII テキスト文字を含めることができます。 システムは、インストール後にこのタグを再現できる必要があります。 ファイル名のプレフィックスとして HASH> を使用<します。 これにより、タグは ASCII 文字列形式のファイルのハッシュになります。 |
ファイル のパスと名前 |
解析する拡張子とファイルの相対パスを含むファイル名。 SignTool で署名できる任意の種類のファイルをカタログに追加できます。 たとえば、拡張子が次のようなファイル名をカタログに追加できます:.exe、.cab、.cat、.ocx、.dll、.stl。 |
AltSIPID |
ファイルの種類に基づく標準 SIP ではなく、ハッシュに使用される SIP GUID。 このエントリは省略可能です。 このエントリを省略すると、メンバーは既定の SIP を使用してハッシュされます。 既定でインストールされている SIP が見つからない場合は、フラット SIP が使用されます。 |
guid |
GUID のテキスト表現。 |
ATTRx |
省略可能。 ファイルまたはコンテンツに関する属性またはステートメント。 任意の数の属性 (none を含む) を指定できます。 |
型 |
0x00000000形式 (テキスト) で追加する属性の種類を定義します。 このオプションは、次の値の 0 個以上のビットごとの OR の組み合わせにすることができます。
|
oid |
属性の参照キーのテキスト表現。 これは、ドット四角形表記のテキスト文字列 (例: a.b.c.d) またはテキスト名の形式の OID です。 |
value |
属性の値のテキスト表現。 使用されるテキスト表現の種類は、type オプションの値によって異なります。 EOL 文字によって長さが決まります。 |
<HASH> |
指定したファイルをハッシュします。 |
生成されたカタログ ファイルは署名されていません。 転送前に署名する場合は、 SignTool を使用して署名されます。