< 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 ,如需轉載請自行聯系原作者