MakeCat 工具會建立未簽署的類別目錄檔案,其中包含一組檔案 哈希,以及集合中每個檔案的相關聯屬性。 目錄檔案可讓使用者簽署一個檔案(目錄),而不是簽署許多個別檔案。

簽署和傳輸未簽署的目錄檔案之後,接收者可以將源檔的哈希與類別目錄檔案中包含的哈希進行比較,並確認檔案沒有竄改。

在使用 MakeCat 工具之前,用戶必須使用任何文本編輯器來準備目錄定義檔 (.cdf)。 .cdf 檔案包含要編目之檔案的清單和檔案屬性(規格如下所列)。 MakeCat 工具會掃描 .cdf 檔案、驗證每個列出的檔案的屬性清單、將列出的屬性新增至目錄本身、哈希每個列出的檔案,以及將每個檔案的哈希儲存到類別目錄檔案中。 每個檔案都有其哈希和屬性分別儲存在目錄中。 然後,即可簽署和傳輸此目錄檔案。 接收者接著可以將目錄中每個檔案的哈希與源檔的哈希進行比較,以證明原始內容不受竄改。 MakeCat 不會修改 .cdf 檔案。

下列範例使用 MakeCat 命令。

  • 從 Good.cdf 檔案產生目錄檔案。

    MakeCat -v good.cdf

    Good.cdf 檔案藉由剖析檔案 UnsignedPE.exe、UnsignedDOS.exe、Unsigned.cab、Unsigned.Class 和 SignedPE.exe,來產生目錄檔案 Good.cat。 剖析的檔案以及 Good.cdf 和新產生的 Good.cat 全都位於相同的目錄中。

    [CatalogHeader]
    Name=Good.cat
    ResultDir=.\
    PublicVersion=0x00000001
    EncodingType=
    CATATTR1=0x10010001:Movie1:FirstMovie
    CATATTR2=0x10010001:Movie2:SecondMovie
    CATATTR3=0x10010001:Movie3:ThirdMovie
    [CatalogFiles]
    UnsignedPE=.\UnsignedPE.EXE
    UnsignedDOS=.\UnsignedDOS.EXE
    <HASH>UnsignedCAB=.\Unsigned.CAB
    UnsignedClass=.\Unsigned.Class
    SignedPE=.\SignedPE.EXE
    

    .cdf 檔案中的最後一個項目必須一律在行尾有明確的換行符。

  •