前段时间工作上实现了一个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
signcode -v ActiveXDemo.pvk -spc ActiveXDemo.spc test.ctl
certmgr -add -ctl test.ctl -s trust
certmgr -add -c ActiveXDemo.cer -s root
signcode -v test.pvk -spc test.spc EIActive.cab
chktrust EIActive.cab
10.如果文件通过了数字签名检测,系统会询问是否安装这个文件,这时候一定要选择安装,整个签名过程才能完成。
(5-8类似于图形化的运行signcode.exe进行数字签名向导)
signtool具体使用方式参考https://www.cnblogs.com/ytwy/p/5034577.html 在此感谢!
文章记录比较仓促,不足之处还请指正。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。