参考过程!
http://www.cnblogs.com/babyt/archive/2005/03/14/118264.html
http://www.cnblogs.com/babyt/archive/2005/03/14/118302.html
http://www.cnblogs.com/babyt/archive/2005/03/14/118309.htm
从网上找了些相关的资料,最终制作成功,做个小的总结:
首先准备好必须的工具如下:
制作工具:iexpress.exe 和makecab.exe,
数字签名工具:cert2spc.exe,makecert.exe,signcode.exe(或者是signtool.exe)
下面我具体说如何使用他们来帮助我们制作需要的cab包。
下面是我引用网上的资料信息.
1. 将ocx文件以及第三方dll文件打包成cab文件:
Internet 软件分发单位是“软件包”,它由包含.INF文件或软件分发.OSD文件(或两者都包括)的.CAB文件所组成。
一个分发单位也可以包含软件组件,
如 ActiveX 控件(.OCX)、.DLL文件、.EXE文件、Java类文件或小程序。当Web页上OBJECT元素的CODEBASE特性引用包含.INF文件的.
CAB文件时,Internet Explorer将自动把.CAB文件作为软件分发单位下载并安装,每次访问时还会自动检测版本并进行更新。
INF文件是一个文本文件,指定运行控件所需要下载或者呈交的文件(比如.DLL或者其它.OCX)。一个.INF文件就捆绑了.
CAB压缩文件所有的必须文件。 缺省情况下,与现有硬盘中文件版本号相同的文件不被下载。
先自己写了一个inf文件,其中信息包括将.ocx文件,以及相关的.dll文件打包,并下载到文件夹:\WINDOWS\system32,详细标注如下:
[version]
signature=”$CHICAGO$”
AdvancedINF=2.0
[Add.Code]
pcpos.ocx=pcpos.ocx
Comm.dll=comm.dll
[pcpos.ocx]
file-win32-x86=thiscab
RegisterServer=yes
clsid={719A1D6E-7099-4123-9D63-F0118AFF2D61}
DestDir=11
FileVersion=1,0,0,1
[Comm.dll]
file-win32-x86=thiscab
RegisterServer=yes
DestDir=11
FileVersion=1,0,0,1
[RegisterFiles]
%11%\pcpos.ocx
注释:
“thiscab” 是一个关键字,意指包含该INF的CAB文件。也可以从网上下载所需要的DLL文件,只要指定一个HTTP 网址即可,如:
file-win32-x86=http://www.mysite.com/mydir/NEEDED.DLL
关键字”file-win32-x86″ 指定平台是 x86。
文件版本号可见属性。
“DestDir”指的是装载目录或者文件的地址: 11 指定为系统目录 WINDOWS/ /SYSTEM32;
“clsid” 指的是要安装控件的CLSID。
制作cab:
使用\WINDOWS\system32\iexpress.exe。
1) 选择“Create new Self Extraction Directive file”,点击下一步。
2) 选择“Create compressed files only(ActiveX Installs)”,点击下一步。
3) 点击Add,文件添加(pcpos.ocx,pcpos.dll,comm.dll,tcpclnt.dll 或.inf文件),点击下一步。
4) 点击Browse,输入.CAB文件的存放地址(包含所取文件名),这里取TestCAB.CAB(这里很恶心不知道为什么只能用5个字符以内),并且要选中 “Store files using Long File Name inside Package”。点击下一步。
5) 选择“Don’t save”,一直点击下一步,直到完成。
注意:
如果控件已经在客户机注册,并且不是通过.CAB的方式注册,那么通过.CAB自动注册的时候,该控件将无法被更新。必须先手动删除该文件。
2. 对CAB文件进行数字签名
传说中数字签名之后就可以不出现提示而自动下载,所以也试试:
在\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin 中间有三个小工具,就用他们来实现数字签名。(Microsoft SDKs\Windows\v6.0A\bin 也可以在这里找到)
1.Makecert.exe ―证书创建工具
2.Cert2Spc.exe ―发行者证书测试工具
3.Signcode.exe ―文件签名工具 (或者是signtool.exe)
步骤:
1) makecert -ss name -n “CN=公司名” -sv d:\pos.pvk -r d:\pos.cer 其中sk-表示主题的密钥容器位置,
ss-主题的证书存储名称, n-证书颁发对象,r-证书存储位置,-sv 导出私钥文件(为了数字签名使用)。
注意:这个时候会让输入三次密码,三次要完全一致。
2) 使用Cert2Spc生成spc发行者证书(可选):cert2spc d:\pos.cer d:\pos.spc
3) 双击signcode,不带参数会启动签名向导。先选择要签名文件,下一步,选择“自定义”,
下一步,选择“从文件选择”,添加刚生成的pos.cer证书,下一步,选择刚生成的私钥pos.pvk,再下一步,
可spc证书,再一直下一步。添加时间戳,在时间戳填入http: //timestamp.verisign.com/scripts/timstamp.dll TestCAB.CAB,
(上一步可直接跳过)
再下一步完成。
这样就对CAB文件进行了签名,但是这个时候点击这个文件会发现证书不可用,原因是证书没有安转。
文件属性->数字证书->详细信息-〉查看证书-〉安装证书,进入安装证书向导,存放区域选择“受信任的根证书颁发机构”,点击完成即可。
分享到:
相关推荐
可以在“解决方案资源管理器”中右击智能设备 Cab 项目,然后在快捷菜单上单击“属性”,在“生成”页上选择“Authenticode 签名”,然后选择证书并单击“确定”。 将 CAB 文件部署到仿真设备 最后,需要将 CAB ...
5. **设置签名选项**:在创建CAB文件的过程中,选择使用你的数字证书进行签名。这通常涉及到提供证书路径和设置签名参数。 6. **签名CAB文件**:完成文件添加后,执行签名过程。工具会使用证书的私钥对CAB文件进行...
iexpress.exe是一个向导式的CAB文件创建工具,可以根据INF文件生成CAB文件。 二、数字签名 数字签名是指对CAB文件进行数字签名,以确保其来源和完整性。可以使用signtool.exe工具对CAB文件进行数字签名。 首先,...
生成的证书用于对CAB文件进行数字签名,验证文件的来源和完整性。在Windows系统中,用户可以通过查看文件属性来检查数字签名的有效性,从而判断软件是否可信。 在实际操作中,`makeCAB`和`IExpress`的使用通常包括...
1. 2生成CAB包.bat:这是一个批处理文件,它包含了创建CAB包的命令行指令。 2. 1生成安全证书.bat:这个文件用于生成自签名的SSL证书,用于对CAB包进行数字签名。 3. 3生成数字签名.bat:这是对CAB文件进行签名的...
4. 运行`makecab.exe`生成CAB文件。 5. 在客户端,使用`certmgr.exe`导入证书,以信任签名。 6. 当用户在网页中加载带有CAB链接的页面时,浏览器会自动下载并执行CAB中的安装脚本,调用`setreg.exe`注册控件。 同时...
2. 使用Microsoft的cab打包工具(如MakeCab或IExpress)将`axvlc.dll`和其他必要的文件(如数字证书)打包成`.cab`文件。 3. 在HTML代码中,使用`object`或`embed`标签插入ActiveX控件,并指定`axvlc.cab`的URL,...
签名过程需要一个有效的数字证书,该证书由受信任的证书颁发机构(CA)颁发,用来证明软件的开发者身份。 5. **执行 CAB 文件制作**:最后,使用 MakeCab 或者其他 CAB 制作工具,结合 INF 文件和要打包的文件,...
1. **获取数字证书**:你需要一个有效的数字证书,可以从权威的证书颁发机构(如Verisign、GlobalSign等)购买。这个证书包含了你的身份信息,用于验证CAB文件的发布者。 2. **使用SignTool.exe**:Microsoft的Sign...
X.509是广泛使用的数字证书标准,包含了公钥和有关证书持有者的身份信息。在正式发布前,开发者可能使用makecert.exe生成临时的自签名证书进行调试和内部测试,而在正式发布时,通常会购买或申请由受信任的CA签名的...
在没有正式的数字证书提供商的情况下,可以使用这个工具为CAB文件生成临时的签名。 6. **signcode.exe**: 与signtool类似,它用于对文件或CAB包进行签名,但更专注于代码签名。这可以确保软件在安装时不会被安全...
在实际应用中,这种控件可能用于帮助用户获取和验证数字证书,以确保网络通信的安全性。 总的来说,这个主题涵盖了Web开发中的客户端组件技术,尤其是针对Windows环境的ActiveX控件的创建、打包和部署,以及如何在...
总之,ActiveX CAB数字签名工具是确保Web上分发的ActiveX控件安全的关键组成部分。cabsdk.exe 和 codesigningx86.exe 是用于为这些控件创建可靠数字签名的实用程序,帮助保护用户免受恶意软件和欺诈攻击。在开发和...
虽然`makecab.exe`不直接与数字证书有关,但它可以用来压缩和打包证书相关的文件,比如将证书、私钥和操作手册整合到一个CAB文件中,便于分发和管理。 制作数字证书的过程通常包括以下步骤: 1. **生成密钥对**:...
### OCX打包CAB并签名详解 #### 一、OCX与CAB打包的重要性 ...这一过程涉及INF文件的创建、CAB文件的生成、数字签名的应用以及证书的申请,每个环节都至关重要,共同保障了OCX的安全分发和使用。