一、給Activex控件加數字簽名
由于報表輸出模塊有用到Activex控件,這種控件對于Windows來(lái)說(shuō)屬于未簽名控件,而Windows默認的IE設置中對這種未簽名控件的訪(fǎng)問(wèn)是禁止的,雖然通過(guò)讓用戶(hù)修改自己的IE設置可以訪(fǎng)問(wèn),但這樣每個(gè)要訪(fǎng)問(wèn)的用戶(hù)都需要設置,麻煩,而且也不是很安全,那么通過(guò)在服務(wù)器端給該Activex控件加上數字簽名,就不需要用戶(hù)修改自己的IE設置,下面就介紹給Activex控件加數字簽名的步驟:
首先要有工具包,包括以下幾個(gè)軟件:
makecert.exe 制作cer格式的證書(shū),即X.509證書(shū),同時(shí)可以創(chuàng )建私鑰
cert2spc.exe 將cer格式證書(shū)轉換成spc格式證書(shū),即PKCS #7證書(shū)
signcode.exe 將證書(shū)簽署到ocx上去
chktrust.exe 檢查簽署證書(shū)后的ocx是否正確
還有一個(gè)certmgr.exe,是管理證書(shū)用的
上面這幾個(gè)軟件放在Web文件的Activex文件夾下。
有了上面幾個(gè)軟件,就可以進(jìn)行簽名了:
1. 創(chuàng )建一個(gè)自己的證書(shū)文件:
點(diǎn)擊“開(kāi)始”-“運行”,如下圖

在彈出框中輸入cmd

點(diǎn)擊確定

通過(guò)輸入命令轉到工具包所在路徑,如假設上述工具包放在“I:/work/xsxt/bbsc/”下,則首先轉到I盤(pán)

然后再轉到work下

轉到xsxt下

轉到bbsc下,按下圖輸入

下面講解一下命令:makecert /sv "xsxt.PVK" /n "CN=億力天龍,E=ljm@tli.com.cn,O=劉建梅" xsxt.cer
這里,xsxt.PVK表示新創(chuàng )建的私人密鑰保存文件名
“億力天龍”是你想顯示的公司名
xsxt.cer是你創(chuàng )建最后的證書(shū)文件名
這些根據你自己的要求填寫(xiě)
輸入上述命令回車(chē)后,會(huì )彈出下圖:

在上圖中輸入私鑰密碼,點(diǎn)擊確定(一定要輸入一致,不要出錯)后出現下圖:

輸入和前面一樣的密碼,再點(diǎn)擊確定,出現下圖:

上圖中如果出現Succeeded則表示創(chuàng )建成功,此時(shí)可以進(jìn)入“I:\work\xsxt\bbsc”下看到xsxt.PVK和xsxt.cer兩個(gè)文件。


回車(chē)后出現下圖


3.給ocx進(jìn)行簽名
雙擊“I:\work\xsxt\bbsc\”下的signcode.exe運行后會(huì )出現數字簽名向導,出現下圖

點(diǎn)擊“下一步”,出現下圖:

通過(guò)“瀏覽”按鈕來(lái)選擇要簽名的Activex控件,該系統的控件是在Web文件的bbsc下的ActiveFormProj1.ocx,所以通過(guò)瀏覽來(lái)選擇該文件

點(diǎn)擊“下一步”,出現下圖:

該圖出現了簽名選項,一種是典型,一種是自定義。選擇自定義,這樣才能從文件選擇證書(shū)

從上圖中點(diǎn)擊“從文件選擇”,選擇簽名制作的xsxt.spc或xsxt.cer文件,此處選擇xsxt.cer后出現下圖

再點(diǎn)擊“下一步”


點(diǎn)擊“下一步”,出現下圖:

在上圖的密碼處輸入簽名設置的密碼后點(diǎn)擊“確定”

在上圖中選擇散列算法,一般用md5就可以了,點(diǎn)擊“下一步”

直接點(diǎn)擊“下一步”,

填寫(xiě)一下這個(gè)控件的聲明,用戶(hù)用ie瀏覽的時(shí)候,會(huì )彈出證書(shū)說(shuō)明,點(diǎn)擊“下一步”


點(diǎn)擊“完成”

輸入簽名設置的密碼,點(diǎn)擊“確定”

表示簽名完成。
4.用chktrust檢查是否正確

回車(chē)后會(huì )出現下圖:

點(diǎn)擊“是”即可。
就這樣,得到了一個(gè)測試證書(shū),雖然只是一個(gè)測試證書(shū),但至少保證這個(gè)Activex控件在ie瀏覽的時(shí)候能夠彈出來(lái)一個(gè)窗口,問(wèn)你是否安裝,而不是直接禁止了。
聯(lián)系客服