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 檔案中的最後一個項目必須一律在行尾有明確的換行符。