在VS安裝後發現路徑**VC7\Common7\Tools\Bin\下有許多小工具,我對帶有Cert的檔案比較感興趣。經過研究,發現是有關認證和簽名的,當然,該認證未被認證認證機構認可。下面列出這些工具和我的使用心得。
1。Makecert.exe ---認證建立工具
2。Cert2Spc.exe ---發行者認證測試載入器
3。Signcode.exe ---檔案簽名工具
4。chktrust.exe 檢查簽署認證後的ocx是否正確
面對其眾多參數,我只好一一嘗試。經過不斷的建立,我已經能夠做好認證的自我建立,子認證的建立,檔案簽名。嘿嘿,這下ActiveX控制項的自動下載問題也算解決了一大半,有事沒事就給自己編的小軟體簽個名又何妨?
建立自己的根憑證:
makecert -sk myPK -ss myName -n "CN=LUO31工作室" -r c:\luo31.cer
sk-表示主題的密鑰容器位置,ss-主題的憑證存放區名稱, n-憑證發行對象,r-憑證存放區位置;
如果你需要匯出私密金鑰檔案,請不要使用sk,而換作s,eg:makecert -ss myName -n "CN=LUO31工作室" -sv c:\luo31.pvk -r c:\luo31.cer
建立自根跟認證授權的子認證:
makecert -sk "myPK" -is myName -n "CN=luo31" -$ commercial -ic c:\luo31.cer c:\31.cer
sk-表示主題的密鑰容器位置,is-頒發者的憑證存放區名稱, n-憑證發行對象,ic-頒發者的憑證存放區位置,-$-授權範圍(用於程式碼簽署);
使用Cert2Spc產生spc發行者認證(可選):
cert2spc c:\31.cer c:\31.spc
使用signcode為你的程式,庫或cab包簽名:
雙擊signcode,或在控制台鍵入signcode,不帶參數會啟動簽名嚮導。在第三步選擇“自訂選項”,第四步選擇“從檔案選擇”選擇31.spc或31.cer,第五步選擇“CSP中的私密金鑰”,在密鑰容器中選擇我們定義的myPK,其他步驟預設即可,如果想新增時間戳記,請在時間戳記伺服器位址上鍵入:(免費時間戳記認證)http: //timestamp.verisign.com/scripts/timstamp.dll
完成後,觀察你所簽名的檔案屬性,應該已經添加數位簽章項。