1. 程式人生 > >ActiveX控件自動更新,數字簽名突破IE安全限制

ActiveX控件自動更新,數字簽名突破IE安全限制

cab簽名 activex自動更新

前段時間工作上實現了一個IC卡讀卡器IE瀏覽器插件,最近新需要實現控件自動更新,於是研究一番~~
打包成cab文件實現自動更新
ocx控件的自動更新可以通過html中object對象的codebase屬性實現版本監測,#前面是新版本cab文件位置,後面是新版本號
技術分享圖片
突破IE的安全限制需要數字簽名,微軟的數字證書是需要付費的,此處自己制作一個數字簽名證書,安裝控件的時候同時安裝好證書以便瀏覽器能正確識別控件發布者,解除瀏覽器安全限制
1.打包成cab
編寫inf文件
技術分享圖片
跟生成的ocx控件文件放置到同一個目錄
技術分享圖片
執行運行命令iexpress打開windows自帶cab打包工具向導
技術分享圖片
生成EIActive.cab文件
打包工具具體使用方式參考http://www.cnblogs.com/rushoooooo/archive/2011/06/22/2087542.html 在此感謝!

2.數字簽名
網上下載signtool.rar並解壓,進入DOS系統,通過cd命令進入到解壓後的文件夾下面(“cd %path%\signtool\”),並將剛才生成的ActiveXDemo.cab拷貝到當前m目錄下
1.創建證書文件

進入到上面的目錄後,輸入以下命令:

makecert -sv ActiveXDemo.pvk -r -n "CN=公司名稱**" ActiveXDemo.cer

利用MakeCert生成一個 證書.cer和一個私鑰.pvk,同時創建私鑰和公鑰

2.轉換證書

cert2spc ActiveXDemo.cer ActiveXDemo.spc

用Cert2Spc將.cer文件轉換成為PKCS #7軟件發布Certificate(.spc文件)

3.創建另外一個自簽名證書,叫test.cer

makecert -sv test.pvk -r -n "CN=公司名稱**" test.cer

cert2spc test.cer test.spc

4.從test.cer創建test.ctl文件

makectl test.cer test.ctl

  1. 用ActiveXDemo.pvk和ActiveXDemo.spc這兩個文件給test.ctl作數字簽名

signcode -v ActiveXDemo.pvk -spc ActiveXDemo.spc test.ctl

  1. 把test.ctl移動到受信系統存儲區(管理證書)

certmgr -add -ctl test.ctl -s trust

  1. 把ActiveXDemo.cer移動到根系統存儲區

certmgr -add -c ActiveXDemo.cer -s root

  1. 用test.pvk和test.spc給ActiveXDemo.cab作數字簽名(將證書部署到.cab)

signcode -v test.pvk -spc test.spc EIActive.cab

  1. 檢查文件是否通過驗證(檢查部署證書後的.cab是否正確)

chktrust EIActive.cab

10.如果文件通過了數字簽名檢測,系統會詢問是否安裝這個文件,這時候一定要選擇安裝,整個簽名過程才能完成。
技術分享圖片
(5-8類似於圖形化的運行signcode.exe進行數字簽名向導)
signtool具體使用方式參考https://www.cnblogs.com/ytwy/p/5034577.html 在此感謝!
技術分享圖片

文章記錄比較倉促,不足之處還請指正。

ActiveX控件自動更新,數字簽名突破IE安全限制