ActiveX控制元件數字簽名實踐(免費簽名)

weixin_30924079發表於2020-04-04

ActiveX控制元件可以自己簽名,但是證照認證需要花錢的,不過也可以使用一種辦法不用花錢就能認證。

 

數字簽名工具包下載:SignTool.rar /Files/KimSky/SignTool.rar 

-----------------------------------------------------

 

一.自己建立證照檔案:

-----------------------------------------------------

 1. 先使用makecert /sv "私鑰檔名.pvk" /n "CN=你的資訊" "證照檔名.cer",建立相應的
   私鑰證照檔案(會有成功提示)
   私鑰要讓你輸入一個字串,前後要輸一樣。我直接用GUID


2、使用cert2spc "證照檔名.cer"  "#7檔名.spc" (會有成功提示)

3、使用VB做好控制元件,並生成OCX檔案,經過打包成.CAB檔案(同時還有個測試用的.HTM檔案)

4、雙擊signcode執行。

     一、選擇被加入證照的檔案(這兒最容易出錯,應選擇那個.CAB檔案,很多朋友是選了.OCX檔案,就是錯在這兒了)

     二、(使用自定義)選擇.SPC檔案 

     三、選擇.PVK檔案。

 

    下面就一路NEXT就行了。

 

-----------------------------------------------------

 

二.使用第三方認證證照:這裡使用支付寶證照

-----------------------------------------------------

1.雙擊開啟SignCode.exe,選擇要數字簽名的cab檔案。

2.選擇自定義。

3.選擇“從儲存區選擇...”

   然後一路 下一步 就可以了。

   其中時間戳伺服器,這裡有個免費的:http://timestamp.verisign.com/scripts/timstamp.dll 寫上去就完了,這樣就完成了簽名

   也可以不填寫時間戳

 

 

至此,數字簽名完成
在DOS視窗下,輸入

chktrust.exe E:\myTest\08\Package\WebRTF.CAB

對我們的成果進行檢驗

 

     最後說明一下,使用的證照是淘寶網支付寶的證照,只要你有用支付寶,那麼你就有這麼一個以你名字命名的數字證照,同時也不怕證照會過期,只要證照過期了,你上淘寶網,登出一下證照,重新生成一份就是了。

     因我的系統是Windows 2008 所以如果你用Vista以前的系統執行後看到的圖片跟我的貼圖可能有點不一樣。

     有一個問題要注意,如果簽名成功後,你的控制元件還是無法在IE中顯示,那很大的可能是你控制元件本身有問題。

 

在實際應用當中並不是所有的電腦使用者都有使用《淘寶》網上購物的,那麼,針對這類使用者,其實有一個很另類的方法,就是在網頁上用JavaScript來判斷對方電腦是否安裝有《淘寶》的安全外掛,如果沒有,那麼在程式碼中連線到《淘寶》網下載安裝一個控制元件,這樣在客戶電腦上就有了淘寶的根證照了,然後會再下載安裝我們的控制元件。

以下為在網頁中插入的指令碼:

 

<script type="text/javascript">
var itruspta1;
try {
itruspta1
=new ActiveXObject("PTA.iTrusPTA");
}
catch(e){
}
//判斷是否安裝控制元件
if(itruspta1==null){
document.write(
"<OBJECT id=\"iTrusPTA\" codeBase=\"https://img.alipay.com/download/1101/aliedit.cab#Version=2,4,2,471\" classid=\"clsid:1E0DFFCF-27FF-4574-849B-55007349FEDA\" style=\"width:1px;height:1px;\"></OBJECT>");
}else {
}                
</script>
 

我覺得使用第二種方式可以免費使用證照,但是可能會對你的這個證照造成不安全因素。

所以我想還得找另一種方法:ActiveX手動下載安裝包。

 

 

參考:

 http://www.cnblogs.com/babyt/archive/2005/03/14/118309.html

 http://www.lougoo.com/blog/article.asp?id=234

 http://www.cnblogs.com/interdrp/archive/2009/05/03/1448382.html

轉載於:https://www.cnblogs.com/KimSky/archive/2010/07/29/1788057.html

相關文章