微軟代碼簽名證書使用指南

來源:http://www.wosign.com/support/signcode_guide.htm

   本使用指南演示如何使用WoSign代碼簽名證書來給微軟代碼簽名,Thawte和VeriSign代碼簽名證書也是使用同樣方法,只是使用不同的時間戳URL。

    用戶在在線申請代碼簽名證書時會生成證書私鑰文件,如:myCert.pvk,而代碼簽名證書成功頒發後的證書文件爲公鑰文件,如:myCert.spc,又稱:軟件發行證書(Software Publishing Certificate) 。 代碼簽名證書一般都是採用公鑰和私鑰分離的兩個文件方式,適合於 DOS 命令行方式的代碼簽名。如果您您希望把代碼簽名證書導入到Windows證書存儲區中,從而簡化簽名操作,請參考:不同證書格式轉換指南

    WoSign代碼簽名證書的根證書鏈爲: UTN-USERFirst-Object - WoSign Code Signing Authority

    使用微軟的 SignCode.exe 就可以對微軟的代碼進行簽名,如果您沒有此文件,點擊 這裏 下載。 Signcode.exe 可以使用 DOS 命令行方式實現簽名,我們推薦用戶使用數字簽名嚮導方式,簡單方便。請注意:如果您開發的ActiveX爲IE加載項,請先數字簽名每個CAB文件中的.dll和.ocx等文件,再把這些文件打包成.cab文件後再數字簽名.cab文件,以確保所有IE加載項都被IE驗證和信任,否則會顯示“未驗證”而可能影響正常運行。

    具體簽名嚮導過程如下:

    (1) 運行 Signcode.exe , 要求您選擇需要簽名的文件,支持:可執行文件 (*.exe; *.dll; *.ocx) ; Cabinet 打包文件 (*.cab) 和目錄文件 (*.cat) ,如下圖 1 所示 ( 如: TestSign.cab) ,請注意:如果簽名的文件已經有數字簽名,則會被新的簽名覆蓋:

codesigning_choose_file.gif

    (2) 點擊“下一步”後,如下圖 2 所示,會要求您選擇“簽名類型”,缺省的“典型”簽名類型;請選擇“自定義” 簽名類型:

codesigning_choose_type_2.gif

    (3) 如下圖 3 所示,點擊“從文件選擇”簽名證書 ( 公鑰文件 ),如: WotoneCS.spc :

codesigning_choose_spc.gif
    (4) 點擊“下一步”後,如下圖 4 所示,會要求您選擇私鑰文件,如: WotoneCS.pvk ,其他參數不用動:
codesigning_choose_pvk.gif
    (5) 點擊“下一步”後,如下圖 5 所示,會提示要求輸入私鑰密碼:
codesigning_pvk_PW.gif
    (6) 點擊“下一步”後,如下圖 6 所示,會提示要求選擇散列算法 ( 摘要算法、縮微圖算法 ) ,缺省爲 sha1 ,也可以選 md5 :
codesigning_choose_thumbprint.gif
    (7) 點擊“下一步”後,如下圖 7 所示,選擇哪些證書包括到數字簽名中,直接點擊“下一步”即可,即選擇缺省的包括根證書:
codesigning_choose_cert.gif
    (8) 如下圖 8 所示,要求填寫該簽名代碼的功能描述,推薦一定要認真填寫,因爲此信息將會在最終用戶下載此代碼時顯示,有助於最終用戶瞭解此代碼的功能以確定是否下載安裝。第一行“描述”是指此代碼的功能文字描述,第二行“ Web 位置”則讓最終用戶點擊文字描述來詳細瞭解此代碼的功能和使用方法等,本演示中的“ Web 位置”爲WoTrust代碼簽名證書簡介頁面:
signcode-description.gif

    (9) 點擊“下一步”後,如下圖 9 所示,選中“將時間戳添加到數據中”,請使用:

WoSign 免費提供的時間戳服務URL: http://timestamp.wosign.com/timestamp

    時間戳服務非常重要,添加時間戳後,即使您的代碼簽名證書已經過期,但由於您的代碼是在證書有效期內簽名的,則時間戳服務保證了此代碼仍然可信,最終用戶仍然可以放心下載,使得即使代碼簽名證書已經過期,您也無需重籤和重新發布已經簽名的代碼。

signcode-timestamp.gif
    (10) 點擊“下一步”後,如下圖 10 所示,會提示已經完成數字簽名嚮導,點擊“完成”後還會提示您輸入私鑰密碼,就完成代碼簽名證書的代碼簽名。
codesigning_finish.gif
     (11) 現在,需要使用 chktrust.exe 來查驗已經簽名的代碼, chktrust.exe 文件已經打包在 signtool.rar 中。進入 DOS 命令提示符,並進入已經簽名的文件所在目錄 ( 如: d:/sign/TestCA.cab) ,鍵入命令: chktrust testcs.cab ,則會顯示實際應用時在 IE 瀏覽器下載頁面的情況,如下圖 11 所示,對於Win XP操作系統,會顯示軟件名稱和發行者名稱,其中軟件名稱就是您在第(8)步輸入的描述,點擊此名稱就鏈接到您在第(8)步填寫的網址,而點擊發行者名稱,則會顯示您的簽名信息和時間戳信息。對於Win2000操作系統,則稍有不同,第 1 行的紅線部分就是時間戳記錄的簽名時的本地時間,請注意:此時間不是取簽名電腦的時間,而是提供時間戳服務的服務器計算出來的簽名電腦設置的所在時區的本地時間。第 1 行藍色文字就是在第 8 步中輸入的描述文字,點擊此藍色文字就可以訪問在第 8 步中輸入的 Web 描述頁面。第 2 行藍色文字則爲該代碼的發行者,也就是代碼簽名證書的申請者(擁有者)( 如:深圳市沃通電子商務服務有限公司) ,點擊可以查看證書的詳細信息;第 2 行有紅色下劃線部分顯示“發行商可靠性由 WoSign Code Signing Authority 驗證 ”就是此代碼簽名證書的證書頒發者。
chktrust.gif

    (12) 點擊“是”或“運行”,則會提示“ TestSign.cab: Succeeded ”表示代碼 TestSign.cab 簽名驗證有效,可以放到網站上了。請注意:簽名後的CAB文件放到網站上需要使用 object 方式。

請注意:不能僅簽名CAB文件,CAB包中所有DLL文件都要先簽名後再打包,再簽名CAB文件,否則IE瀏覽器會顯示爲“未驗證的發行者”而影響正常使用,甚至殺毒軟件會認爲是毒而被刪除!如下圖所示的實際案例:

CMB_ActiveX_NOT_Signed.gif

發佈了3 篇原創文章 · 獲贊 8 · 訪問量 80萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章