ActiveX控件cab包制作教程.docx
《ActiveX控件cab包制作教程.docx》由会员分享,可在线阅读,更多相关《ActiveX控件cab包制作教程.docx(15页珍藏版)》请在冰豆网上搜索。
![ActiveX控件cab包制作教程.docx](https://file1.bdocx.com/fileroot1/2023-1/2/57fb19aa-a13d-4288-b67b-676906c59428/57fb19aa-a13d-4288-b67b-676906c594281.gif)
ActiveX控件cab包制作教程
WebActiveX控件制作
WebActiveX控件制作1
1.制作ActiveX控件的工具2
2.ActiveX控件制作步骤3
2.1.制作数字证书3
2.2.制作cab包4
2.2.1.制作xx.inf文件4
2.2.2.制作cab包5
2.3.制作有数字签名的ActiveX控件5
3.界面运行情况12
3.1.安装数字证书12
3.2.安装控件14
1.制作ActiveX控件的工具
下载工具包:
,解压至根目录(最好是根目录,方便后边敲路径),我的路径是E:
\delphi\signtool\
制作ActiveX控件需要用到的工具如下:
制作cab包的工具
制作数字证书工具
在控件上签署数字签名的工具
2.ActiveX控件制作步骤
2.1.制作数字证书
在cmd下或者“运行”中输入以下命令:
这里的printocx.pvk是我新创建的私人密钥;CN=KeHongCompany是持有人或者颁发者,你可以CN=XX公司;最后的printocx.cer则是新建的证书。
根据提示在弹出的窗口输入私钥密码(因为做这个证书的目的并不是为了安全,所以密码建议设成123456之类好记的):
执行结束后,在目录下会生成两个文件:
printocx.pvk、printocx.cer。
证书的制作就是这么简单。
2.2.制作cab包
2.2.1.制作xx.inf文件
Test.inf文件是用于之后的控件打包压缩。
例如cab包共需要打包的文件有:
ClientOCX.ocx
DllDeinterlace.dll
msvcp71.dll
Test.inf文件内容如下:
;INFfileforHD_Viewer.cab
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
;以上部分不要修改
[Add.Code]
ClientOCX.ocx=ClientOCX.ocx
DllDeinterlace.dll=DllDeinterlace.dll
msvcp71.dll=msvcp71.dll
[ClientOCX.ocx]
file-win32-x86=thiscab
clsid={AC69DFDB-D959-4B9A-9F30-8A2160051C12}
DestDir=11
FileVersion=1,0,0,1
RegisterServer=yes
[DllDeinterlace.dll]
file-win32-x86=thiscab
DestDir=11
FileVersion=1,1,0,3
RegisterServer=yes
[msvcp71.dll]
file-win32-x86=thiscab
DestDir=11
FileVersion=8,0,50727,762
RegisterServer=yes
;endofINFfile
注:
INF文件具体配置可在网络搜索或见
2.2.2.制作cab包
创建cab包
在cmd下或者“运行”中输入以下命令:
cabarc.exe-s6144Nprint.cabmsvcp71.dllDllDeinterlace.dllClientOCX.ocxTest.inf
6144表示预留数字签名的空间
print.cab表示生成的cab包名称
msvcp71.dllDllDeinterlace.dllClientOCX.ocx表示需要打包的文件
Test.inf为创建的控件打包压缩初始化文件
运行该命令后,系统在当前窗口生成一个print.cab压缩包
2.3.制作有数字签名的ActiveX控件
下面我们来对自己做的ocx控件签名(我的控件是print.cab),双击目录里的signcode.exe文件,出现了数字签名向导:
选择控件包print.cab:
下一步,签名选项选“自定义”
下一步,选择证书,点击“从文件选择”,这里要把默认类型换成X.509证书:
下一步,选择私钥,即刚才生成的printocx.pvk文件:
会提示输入密码,即上面你设置的密码,比如之前我建议你设的123456:
下一步,算法选择sha1即可:
下一步,默认不用管:
下一步,数据描述,这里要认真写一下了,最后客户的IE浏览器提示的文件描述就是这里所填的:
下一步,时间戳也不用理会,直接下一步完成:
最后会再次提示输入私钥,输入你设置的密码123456,确定,即提示“数字签名向导已完成”。
查看print.cab文件的属性我们可以看到增加了“数字签名”项
3.界面运行情况
3.1.安装数字证书
第一次访问使用了ocx页面:
该页面内加载cab包代码示例如下:
*classid的值为需要调用显示的OCX控件clsid的值*
下面在IE内打开主页
提示,右键选择安装,然后会弹出这样的提示框:
可见,仍然被直接阻止,而且之前设置的颁布者、提示信息都没有显示,很显然,我们的工作还没有完成。
解决方法:
1.安装证书
把数字证书(cer文件)安装到根系统存储区,“运行”执行如下命令:
E:
\delphi\SignTool\certmgr-add-cprintocx.cer-sroot
会有这样的一个提示,确定即可:
或者点击“未知发布者”,弹出数字证书信息,点击“查看数字证书”,下一步点击“安装”,直至出现上图提示。
此时,数字证书(cer文件)安装完毕。
2.修改安全设置
修改IE的internet选项安全设置
internet选项–安全–internet--自定义级别–重置为安全级低然后单击<重置>按钮;
本地Intranet--自定义级别–重置为安全级低然后单击<重置>按钮。
或者将所有Active安全项置为启用(或提示)即可。
3.2.安装控件
我们再来看看,打开页面后,提示已经可以显示出颁布者和软件内容说明了:
若弹出是否安装提示,单击<安装>按钮即可。
安装完毕,控件显示正常;