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

前言
这几天一直在钻研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

具体的就不多说了,网上有太多的教程。
OCX打包成CAB包以及签名发布_第1张图片

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

OCX打包成CAB包以及签名发布_第2张图片

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

OCX打包成CAB包以及签名发布_第3张图片

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

OCX打包成CAB包以及签名发布_第4张图片

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

OCX打包成CAB包以及签名发布_第5张图片

点击下一步

OCX打包成CAB包以及签名发布_第6张图片

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

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

OCX打包成CAB包以及签名发布_第7张图片

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

OCX打包成CAB包以及签名发布_第8张图片

OCX打包成CAB包以及签名发布_第9张图片

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

OCX打包成CAB包以及签名发布_第10张图片

(5)在CMD中运行signcode,

OCX打包成CAB包以及签名发布_第11张图片

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

OCX打包成CAB包以及签名发布_第12张图片

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

OCX打包成CAB包以及签名发布_第13张图片

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

OCX打包成CAB包以及签名发布_第14张图片

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

OCX打包成CAB包以及签名发布_第15张图片

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

OCX打包成CAB包以及签名发布_第16张图片

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

OCX打包成CAB包以及签名发布_第17张图片

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

OCX打包成CAB包以及签名发布_第18张图片

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

OCX打包成CAB包以及签名发布_第19张图片

终于完了。

你可能感兴趣的:(cab,ActiveX,数字签名)