首先要有工具包,包括以下幾個(gè)軟件:
makecert.exe 制作cer格式的證書(shū),即X.509證書(shū),同時(shí)可以創(chuàng)建私鑰
cert2spc.exe 將cer格式證書(shū)轉(zhuǎn)換成spc格式證書(shū),即PKCS #7證書(shū)
signcode.exe 將證書(shū)簽署到ocx上去
chktrust.exe 檢查簽署證書(shū)后的ocx是否正確
還有一個(gè)certmgr.exe,是管理證書(shū)用的。可以從這里面導(dǎo)出root.cer來(lái),
網(wǎng)上很多文章寫(xiě)到這個(gè)證書(shū),但是在VC的安裝盤(pán)中卻找不到。其實(shí),沒(méi)
有也沒(méi)關(guān)系的。這幾個(gè)軟件可以從VC的安裝盤(pán)中找到。
下面是具體的步驟:
1、創(chuàng)建一個(gè)自己的證書(shū)文件:
makecert /sv "Record.PVK" /n "CN=DreamCaptial" dream.cer
這里,Record.PVK表示新創(chuàng)建的私人密鑰保存文件名
DreamCaptial是你想顯示的公司名
dream.cer是你創(chuàng)建最后的證書(shū)文件名
這些根據(jù)你自己的要求填寫(xiě),最后得到Record.PVK和dream.cer兩個(gè)文件。
其中,運(yùn)行過(guò)程中需要輸入私人密鑰的保護(hù)密碼,一定要輸入一致,不要
出錯(cuò)。
2、轉(zhuǎn)換cer格式為spc格式(可以省略)
cert2spc dream.cer dream.spc
得到dream.spc文件。
3、給ocx進(jìn)行簽名
運(yùn)行signcode,命令行的我沒(méi)有試驗(yàn)通過(guò),我是通過(guò)界面實(shí)現(xiàn)的。
signcode運(yùn)行后會(huì)出現(xiàn)數(shù)字簽名向?qū)В紫冗x擇你要簽名的ocx,
下一步后會(huì)出現(xiàn)簽名選項(xiàng),一種是典型,一種是自定義。選擇自定義,
這樣才能從文件選擇證書(shū),選擇前面制作的dream.spc,再下一步是
選擇私鑰文件,選擇Record.PVK,輸入私人密鑰的保護(hù)密碼,選擇散
列算法,一般用md5就可以了,下一步是選擇其他證書(shū),直接下一步,
填寫(xiě)一下這個(gè)控件的聲明,用戶(hù)用ie瀏覽的時(shí)候,會(huì)彈出證書(shū)說(shuō)明,
再下一步是加蓋時(shí)間戳,如果需要,用以下地址:
http://timestamp.verisign.com/scripts/timstamp.dll
要求已經(jīng)上網(wǎng)并能出國(guó),然后直接下一步就完成了。
4、用chktrust檢查是否正確
chktrust -v RecordProj.ocx
就這樣,得到了一個(gè)測(cè)試證書(shū),恩,雖然只是一個(gè)測(cè)試證書(shū),但至
少保證這個(gè)ocx在ie瀏覽的時(shí)候能夠彈出來(lái)一個(gè)窗口,問(wèn)你是否安裝,
而不是直接禁止了。