天天看點

白話數字簽名(番外篇)----簽名EXE檔案(下)

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>

轉自:http://www.cnblogs.com/1-2-3/archive/2007/12/03/colloquialism-digital-certificate-part5.html

摘要

如果我們在IEXPLORE.EXE上面右擊,再點選“屬性”,可以看到并沒有顯示數字簽名頁,但是在Process Explorer中卻可以成功驗證簽名,這是怎麼回事呢?

簽名EXE檔案的兩種方法

上篇寫到如果我們在IEXPLORE.EXE上面右擊,再點選“屬性”,可以看到并沒有顯示數字簽名頁,但是在Process Explorer中卻可以成功驗證簽名,這是怎麼回事呢?這是因為有兩種簽名EXE檔案的方法:1. 将簽名資料嵌入到EXE檔案内部,就是上篇裡介紹的那種方法。2. 将簽名資料存放到一個 .cat 檔案中,Windows絕大多數程式和驅動都是使用的這種方法,是以在檔案屬性裡看不到簽名資訊,卻可以使用Process Explorer成功驗證簽名。下面就來介紹一下這種簽名方法。

使用安全編錄(.cat)檔案簽名EXE檔案

Step1: 首先,為了友善,先在C槽下建立一個目錄“C:\SignDemo”。然後将一個未簽名的EXE檔案“MathLover121.exe”複制到這個目錄下。 Step2: 建立一個文本檔案,命名為“123soft.cdf”,内容如圖所示。 

注 MakeCat.exe是随3.0的SDK釋出的,是以為了友善我把它上傳到了這裡。

 Step4: 打開指令行,使用“makecat -v 123soft.cdf”指令生成“123soft.cat”檔案。  Step5: 打開指令行,執行“signtool signwizard”指令,打開簽名向導,使用和上篇同樣的方法簽名“123soft.cat”檔案。  

Step6: 測試123soft.cat檔案裡面是否已包含了MathLover121.exe的數字簽名。方法是使用“signtool verify -v -pa -c 123soft.cat mathlover121.exe”指令。

簽名MP3

嵌入式的簽名方式隻能簽名有限的幾種檔案格式,但是使用CAT檔案的方式卻可以簽名任意格式的檔案。下面就來示範一下簽名MP3檔案的過程。  Step1: 把一個MP3檔案複制到“C:\SignDemo”。  Step2: 在123soft.cdf檔案裡添加這個檔案名。  Step3: 按照前面的方法重新生成、簽名CAT檔案。 Step4: 驗證簽名。  

參考文獻

<a href="http://www.microsoft.com/whdc/winlogo/drvsign/kmcs_walkthrough.mspx">Kernel-Mode Code Signing Walkthrough</a>

<a href="http://www.playes.net/Blog/495.asp">Microsoft Authenticode 參考指南</a>

本文轉自 netcorner 部落格園部落格,原文連結:http://www.cnblogs.com/netcorner/archive/2008/03/01/2912172.html  ,如需轉載請自行聯系原作者

下一篇: 狀壓dp

繼續閱讀