ActiveX控件自動更新,數字簽名突破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
- 用ActiveXDemo.pvk和ActiveXDemo.spc這兩個文件給test.ctl作數字簽名
signcode -v ActiveXDemo.pvk -spc ActiveXDemo.spc test.ctl
- 把test.ctl移動到受信系統存儲區(管理證書)
certmgr -add -ctl test.ctl -s trust
- 把ActiveXDemo.cer移動到根系統存儲區
certmgr -add -c ActiveXDemo.cer -s root
- 用test.pvk和test.spc給ActiveXDemo.cab作數字簽名(將證書部署到.cab)
signcode -v test.pvk -spc test.spc EIActive.cab
- 檢查文件是否通過驗證(檢查部署證書後的.cab是否正確)
chktrust EIActive.cab
10.如果文件通過了數字簽名檢測,系統會詢問是否安裝這個文件,這時候一定要選擇安裝,整個簽名過程才能完成。
(5-8類似於圖形化的運行signcode.exe進行數字簽名向導)
signtool具體使用方式參考https://www.cnblogs.com/ytwy/p/5034577.html 在此感謝!
文章記錄比較倉促,不足之處還請指正。
ActiveX控件自動更新,數字簽名突破IE安全限制