2010年2月25日 星期四

Kernel-Mode Code Signing

微軟提供測試時期的類別簽章認證,可以讓使用者產生所需要的CER檔與CAT檔。

首先,使用文字編輯器建立一個 .cdf 檔案,包含要加入目錄的檔案及其屬性的清單。

[CatalogHeader]
Name=Good.cat
PublicVersion=0x0000001
EncodingType=0x00010001
CATATTR1=0x10010001:OSAttr:2:6.0

[CatalogFiles]
...
產生一個cer檔
makecert -pe -ss PrivateCertStore -n CN=Contoso.com(Test) ContosoTest.cer
makecert.exe 可制作cer格式的证书,即X.509证书。

產生一個cat檔
MakeCat -v Good.cdf
Signability.exe /auto /cat /driver:package_directory /os:512
產生cat檔簽證
SignTool sign /v /ac CrossCertificateFile /s SPCCertificateStore /n SPCSubjectName /t
http://timestamp.verisign.com/scripts/timestamp.dll Good.cat
安裝簽證過的cat檔
使用CryptCATAdminAddCatalog API

驗證
Signtool verify /kp /c tstamd64.cat toaster.sys