VS2005自定義ActiveX控制元件釋出

iDotNetSpace發表於2009-03-04
1、數字簽名。

使用SignCode.exe進行數字簽名,步驟如下:
首先要有工具包,包括以下幾個軟體:(C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin目錄下都有)
makecert.exe  製作cer格式的證書,即X.509證書,同時可以建立私鑰
cert2spc.exe  將cer格式證書轉換成spc格式證書,即PKCS #7證書
signcode.exe  將證書籤署到.dll、.ocx上去
chktrust.exe  檢查簽署證書後的.dll、.ocx是否正確
還有一個certmgr.exe,是管理證書用的。可以從這裡面匯出root.cer來,
網上有很多文章寫到這個證書,但是在VC的安裝盤中卻找不到。其實,沒
有也沒關係的。這幾個軟體可以從VC的安裝盤中找到。

下面是具體的步驟:
1、建立一個自己的證書檔案:
makecert /sv "Record.PVK" /n "CN=Chart" Chart.cer
這裡,Record.PVK 表示新建立的私人金鑰儲存檔名
      DreamCaptial 是你想顯示的公司名 
      Chart.cer 是你建立最後的證書檔名
這些根據你自己的要求填寫,最後得到Record.PVK和Chart.cer兩個檔案。
其中,執行過程中需要輸入私人金鑰的保護密碼,一定要輸入一致,不要出錯。

2、轉換cer格式為spc格式(可以省略)
cert2spc Chart.cer AxChart.spc
得到AxChart.spc檔案。

3、給.dll、.ocx進行簽名
執行signcode,命令列方式沒有試驗過,我是通過介面實現的。
signcode執行後會出現數字簽名嚮導,首先選擇你要簽名的.dll、.ocx,
下一步後會出現簽名選項有兩種,一種是典型,一種是自定義。選擇自定義,
這樣才能從檔案選擇證書,選擇前面製作的AxChart.spc,再下一步是
選擇私鑰檔案,選擇Record.PVK,輸入私人金鑰的保護密碼,選擇散
列演算法,一般用md5就可以了,下一步是選擇其他證書,直接下一步,
填寫一下這個控制元件的宣告,使用者用ie瀏覽的時候,會彈出證書說明,
再下一步是加蓋時間戳,如果需要,用以下地址:
http://timestamp.verisign.com/scripts/timstamp.dll
要求已經上網並能出國,然後直接下一步就完成了。

4、用chktrust檢查是否正確
chktrust -v WebChart.dll

就這樣,得到了一個測試證書,恩,雖然只是一個測試證書,但至
少保證這個.dll、.ocx在IE瀏覽的時候能夠彈出來一個視窗,問你是否安裝,
而不是直接禁止了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-561379/,如需轉載,請註明出處,否則將追究法律責任。

相關文章