- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何实现网页内ActiveX控件的自动安装
问题
当HTML页面包含ActiveX控件时,需要先用regsvr32命令对ActiveX控件进行注册,才能由IE浏览器使用。
如果手动地下载或复制ActiveX控件到客户机,再运行regsvr32命令注册控件,不但操作不方便,而且控件的完整性也难以保证。
方案
将ActiveX控件封装成cab安装文件,并对cab文件进行数字签名,可实现HTML页面内ActiveX控件的自动下载和安装。
以下通过健康卡读卡器控件的实例,介绍这一过程的具体操作步骤。
读卡器控件HealthCard.ocx调用另外两个dll文件(UH_DCD_HC_V002.dll和IHReader.dll)对读卡器进行操作,同时还要运行WkRuntime.exe在客户机安装Wibu的USB驱动程序。
test.html内容截取:
div
object classid=clsid:3B4EBC10-D6AD-4A39-BAF7-A388F4FFBBB1 id=testCard
/object
/div
1. 下载makeCAB工具集
makeCAB工具集由微软提供。
2. 编写.inf配置文件
[Add.Code]
HealthCard.ocx=HealthCard.ocx
UH_DCD_HC_V002.dll=UH_DCD_HC_V002.dll
IHReader.dll=IHReader.dll
[HealthCard.ocx]
file-win32-x86=thiscab
clsid={3B4EBC10-D6AD-4A39-BAF7-A388F4FFBBB1}
FileVersion=1,0,0,1
RegisterServer=yes
[UH_DCD_HC_V002.dll]
file-win32-x86=thiscab
RegisterServer=no
DestDir= 11
FileVersion=1,0,1,2
[IHReader.dll]
file-win32-x86=thiscab
RegisterServer=no
DestDir= 11
FileVersion=1,0,0,0
[Setup Hooks]
wibu_driver=wibu_driver
[wibu_driver]
run=%EXTRACT_DIR%\WkRuntime.exe
[version]
signature=$CHICAGO$
AdvancedINF=2.0
说明:
DestDir= 11表示把dll文件安装到windows/system32目录下。
为保证正常运行[Setup Hooks]中的程序,不要改变version区域的内容。
IE先处理[Setup Hooks]部分,再处理[Add.Code]部分。
3. 生成cab安装文件
用cabarc命令将ActiveX控件(及其依赖的dll文件)和.inf文件打包成安装文件
cabarc -s 6144 n health.cab HealthCard.ocx health.inf UH_DCD_HC_V002.dll IHReader.dll
4. 向CA(证书颁发机构)申请数字证书
审核通过后,CA为使用者颁发证书文件(证书中包含使用者名称、使用者公钥等信息和CA的签名)和使用者私钥文件。
该实例中证书文件为health.spc,私钥文件为health.pvk。
5. 对cab安装文件进行数字签名
运行signcode工具,使用CA颁发的用户证书文件和用户私钥对cab文件进行数字签名。
SignCode -spc health.spc -v health.pvk health.cab
6. 在html页面指定cab安装文件的位置
在object元素的codebase属性中设置cab安装文件的路径和ActiveX控件版本。
object classid=clsid:3B4EBC10-D6AD-4A39-BAF7-A388F4FFBBB1 id=testCard CODEBASE=cab/health.cab#version=1,0,0,1/object
7. 在IE中下载并安装cab文件
在IE中打开包含了ActiveX控件的html页面时,IE对cab文件的签名进行验证,并根据安全级别中的ActiveX操作设置情况,选择自动安装、提示确认、还是拒绝安装cab文件。
注:
1.在64位的Windows系统上,64位的IE浏览器无法安装和使用32位的ActiveX控件。
2.如果客户端的操作系统中未内置颁发证书的CA的根证书,用户需要先安装该CA的根证书
文档评论(0)