OCX打包成CAB包以及签名发布

130 篇文章 1 订阅

前言 这几天一直在钻研ActiveX控件,后期的OCX文件打包却让人纠结。

一、用于将ActiveX控件进行打包的工具 makecert.exe 制作cer格式的证书,即X.509证书,同时可以创建私钥和公钥。

cert2spc.exe 将cer格式证书转换成spc格式证书,即PKCS #7证书。

iexpress.exe windows提供的一个向导式CAB制作工具

signcode.exe 将证书签署到ocx上去。

chktrust.exe 检查签署证书后的ocx是否正确。

certmgr.exe 是管理证书用的。

二、制作inf文件 这里以ActiveX.ocx、ActiveX.dll为例 [version] signature="$CHICAGO$" AdvancedINF=1.0

[Add.Code] ActiveX.ocx=ActiveX.ocx ActiveX.dll=ActiveX.dll

[ActiveX.ocx] file=thiscab clsid={794854D8-206D-40CF-98E9-8E117BA0EEEB} FileVersion=1,0,0,0 RegisterServer=yes

[ActiveX.dll] file-win32-x86=thiscab RegisterServer=no DestDir=11 FileVersion=1,0,0,0

具体的就不多说了,网上有太多的教程。 

三、制作CAB文件 进入CMD键入iexpress显示如下界面:

选“Create new Self Extraction Directive file”, 点“下一步”,出现如下框:

选择“Create compressed files only(ActiveX Installs)”,点击下一步,出现如下框,点Add,添加INF文件中标注的所有文件:

点击下一步,点击Browse,选择ActiveX.CAB文件存放并命名CAB文件名,此文件名在jsp中使用,并且要选中 “Store files using long Name inside Package”

点击下一步

选择“Don't save”, 一直点下一步,直到完成,最后会出现一个ActiveX.CAB文件,到这CAB文件打包完成。

四、自制数字证书 (1)用CMD进入到控件所在的目录; (2)创建PVK文件(私人密匙文件),在命令行中输入“makecert -sk ActiveX ActiveX.pvk -n CN=XXXXXXX公司”,然后回车

(3)创建CER文件(公司证书),在命令行中输入“makecert -sk ActiveX.pvk ActiveX.cer”,然后回车,在工作目录下会出现一个安全证书;

(4)创建SPC测试软件出版商证明书,在命令行中输入“cert2spc ActiveX.cer ActiveX.spc”,然后回车

(5)在CMD中运行signcode,

(6)文件名选ActiveX.CAB(即你自己的CAB文件)

(7)选择好ActiveX.CAB包后单击“下一步(N)”按钮,在选择想要的签名类型里选择“自定议(C)”并单击“下一步(N)”按钮

(8)单击“从文件选择(F)”按钮,选择刚刚制作的ActiveX.cer

(9)单击“下一步(N)”按钮,然后选择“CSP中的私钥(K)”。

(10)单击“下一步(N)”按钮,然后在散列算法中选择“shal”,并单击“下一步(N)”按钮

(11)在“证书路径中的证书”中选择“证书路径中的所有证书,包括根证书(C)”,在“其它证书(可选)”中选择“包括在以下PKCS #7 证书(.p7b)文件中的证书(P):”,并单击“浏览(R)…”按钮选择ActiveX.spc文件,选择完后单击“下一步(N)”按钮

(12)接下来在弹出的“数据描述”窗口中输入公司的名称和网址并单击“下一步(N)”按钮

(13)到这基本上就已经完成了,下边那个时间戳直接略过就行了。

终于完了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Activex控件签名工具, 微软提供了两套签名工具, 1)signcode.exe, 从1998年开始使用,随.NET Framework SDK发布。 signcode.exe 数字签名工具 makecert.exe 创建数字证书 cert2spc.exe 将数字证书转化为软件发布者证书格式 2)signtool.exe,随visualstudio 2005及其以后的版本发布。 signtool.exe 数字签名工具 makecert.exe 创建数字证书 cert2spc.exe 将数字证书转化为软件发布者证书格式 pvk2pfx.exe(pvkimprt.exe) 将私有的密匙和软件发布者证书合并为pfx文件,此文件将被signtool.exe使用 上面2中工具的不同是signcode.exe需要输入私有密匙和软件发布者证书(pvk和spc文件),signtool.exe只需要输入由pvk和spc合并产生的一个个人信息交互文件(pfx)。 获得数字证书 数字证书,你可以创建自己的数字证书来测试数字签名的流程,但是正式的软件发布,你需要向可信赖的证书颁发机构购买数字证书和密码,例如你可以向以下的证书机构购买Comodo, Globalsign, Thawte and Verisign。 创建自己的数字证书(用来测试) 使用如下命令来创建自己的数字证书: makecert.exe -sv mykey.pvk -n "CN=Acme Software Inc." mycert.cer你可以将Acme Software Inc.替换为你自己公司的名字。如果mykey.pvk不存在的话,你会要求输入私有密匙的密码,密码可以为空。安全起见最好设置密码,否则别人拿到你的私有密匙后就可以签名了。在上面的命令后,产生了2个文件mykey.pvk和mycert.cer。接下来需要将数字证书(cer)转化为软件发布商证书(spc),命令如下:cert2spc.exe mycert.cer mycert.spc此过程中需要输入私有密匙的密码,创建完后应该会生成mycert.spc文件,当数字签名时mycert.cer文件是不需要的。 时间戳服务器,你可以选择下列之一, - http://timestamp.verisign.com/scripts/timstamp.dll - http://timestamp.globalsign.com/scripts/timstamp.dll - http://timestamp.comodoca.com/authenticode 1)使用signcode.exe,如下: signcode.exe -t <timestamp URL> -spc mycert.spc -v mykey.pvk "<file to be signed>"进行数字签名的文件可以是.exe, .dll, .ocx 或者是其他的可执行文件。 2)使用signtool.exe,如下: 如果你没有pfx文件,需要使用以下的命令来将pvk和spc文件合并为pfx,如果没有设置密码的话必须使用pvkimprt.exe来合并。pvk2pfx.exe -pvk mykey.pvk -pi <password> -spc mycert.spc -pfx mycert.pfx -po <password>pvkimprt.exe -pfx mycert.spc mycert.pvksigntool.exe sign /f mycert.pfx /p <password> /t <timestamp URL> /v "<file to be signed>" 以下是使用signtool.exe签名的一个实例: signtool.exe sign /f mycert.pfx /p <password> /t <timestamp URL> /v "<file to be signed>"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值