OCX打包CAB并签名过程
- 格式:pdf
- 大小:2.89 MB
- 文档页数:13


如何给ocx,dll控件进行数字签名下面用到的命令可以从Microsoft Visual Studio 6.0安装后的SDK_bin 目录中找到1、制作证书makecert -sv bksx.pvk -ss "某某IE插件" -n "CN=公司名称,E=lga@,O=LGA" bksx.cer这个是制作证书-sv 是制作加密的文件-ss 主题的证书存储名称CN 是公司E=EMail O=认证公司的名称bksx.pvk 是私人密钥文件bksx.cer 是证书文件其中,运行过程中需要输入私人密钥的保护密码。
2、证书格式间转换(转换cer 格式为spc 格式,不转也可以使用)cert2spc bksx.cer bksx.spc3、给文件签名*.dll\*.ocx\*.exe(如果是提供WEB 下载安装的签*.cab 文件)4、用chktrust 检查是否正确chktrust -v test.ocx(或chktrust -v test.cab)网页引用参考:参数仅作参考,每个ocx,dll 的都不一样<OBJECT ID="MyOcx"CLASSID="CLSID:4CBBC676-507F-11D0-B98B-000000000000" CODEBASE="http://127.0.0.1:8080/test.cab"></OBJECT>卸载参考:自己去下面的目录看吧C:\WINNT\Downloaded Program Files给自己的ocx,dll等控件做个数字签名,未认证当然是不被信任的:)下面用到的命令可以从Microsoft Visual Studio 6.0安装后的SDK_bin目录中找到1、制作证书makecert -sv bksx.pvk -ss "北控三兴IE插件" -n "CN=北控三兴,E=lga@163. com,O=LGA" bksx.cer这个是制作证书-sv 是制作加密的文件-ss 主题的证书存储名称CN是公司E=EMail O=认证公司的名称bksx.pvk是私人密钥文件bksx.cer是证书文件其中,运行过程中需要输入私人密钥的保护密码。
如何制作cab包(解决不能注册的问题)如何制作cab包制作SSL VPN客户端插件cab包有两种方法,一种是手动打包,另一种是利用Ant自动打包,下面分别对两种方法进行说明,你可以根据熟练程度自由选择。
一、手动打包准备工作l 用到的工具打包工具iexpress.exe签名工具signcode.exe代码签名证书l 打包文件WVC.ocxLiteUnzip.dllmfc80u.dllmfcm80u.dllmsvcm80.dllmsvcp80.dllmsvcr80.dllMicrosoft.VC80.CRT.manifestMicrosoft.VC80.MFC.manifest在制作cab包之前,需要准备以上的打包、签名工具和文件,将iexpress.exe和signcode.exe复制到Java环境变量的bin目录下。
打包文件全部存放在独立的一个文件夹下。
制作步骤步骤1 准备inf文件将以下代码另存为wvc.inf,存放于打包文件目录下。
文件内容一般情况下不需要改变,除非cab需要增加或减少文件的情况下,再修改此文件。
Text代码1.[version]2.signature="$CHICAGO$"3.AdvancedINF=2.04.5.[DefaultInstall]6.CopyFiles=files7.RegisterOCXs=RegisterFiles8.9.[DefaultUninstall]10.cleanup=111.Delfiles=files12.UnRegisterOCXs=RegisterFiles13.14.[SourceDisksNames]15. 1 = %DiskName%,"wvc.cab",116.17.[SourceDisksFiles]18.WVC.ocx=119.LiteUnzip.dll=120.mfc80u.dll=121.mfcm80u.dll=122.msvcm80.dll=123.msvcp80.dll=124.msvcr80.dll=125.Microsoft.VC80.CRT.manifest=126.Microsoft.VC80.MFC.manifest=127.westone.cer=128.29.[RegisterFiles]30.%11%\sslvpn\WVC.ocx31.32.[DestinationDirs]33.files=11, sslvpn34.35.[files]36.WVC.ocx=WVC.ocx37.LiteUnzip.dll=LiteUnzip.dll38.mfc80u.dll=mfc80u.dll39.mfcm80u.dll=mfcm80u.dll40.msvcm80.dll=msvcm80.dll41.msvcp80.dll=msvcp80.dll42.msvcr80.dll=msvcr80.dll43.Microsoft.VC80.CRT.manifest44.Microsoft.VC80.MFC.manifest45.westone.cer=westone.cer46.47.[WVC.ocx]48.file-win32-x86=thiscab49.clsid={C8E6EFFA-ED02-4858-836A-B164102F3C5D}50.RegisterServer=yes51.FileVersion=1,0,0,152.53.[LiteUnzip.dll]54.file-win32-x86=thiscab55.FileVersion=0,0,0,256.57.[mfc80u.dll]58.file-win32-x86=thiscab59.FileVersion=8,0,50727,4260.61.[mfcm80u.dll]62.file-win32-x86=thiscab63.FileVersion=8,0,50727,4264.65.[msvcm80.dll]66.file-win32-x86=thiscab67.FileVersion=8,0,50727,4268.69.[msvcp80.dll]70.file-win32-x86=thiscab71.FileVersion=8,0,50727,4272.73.[msvcr80.dll]74.file-win32-x86=thiscab75.FileVersion=8,0,50727,4276.77.[westone.cer]78.file-win32-x86=thiscab79.80.[Strings]81.DiskName = "sslvpn"注释:2 "thiscab" 是一个关键字,意指包含该INF的CAB文件。
CAB打包文档说明一、文档目的本文档的目的在于说明将ocx和dll以及相关的文件打包成一个CAB包,以便在网页下调用ocx控件时免去手工将dll和其他一下文件拷贝到客户机,方便了现场施工。
二、打包工具打包工具有makeCAB其中,ActvxDoc.exe用来查看ocx的CLSID,signcode.exe用来对打包好的cab进行数字签名,其它的用于生成数字认证文件。
三、打包过程1、将打包工具makeCAB里面的所有文件放到系统文件夹system32目录下2、新建一个文件夹,将所有要打包进cab的文件放在该新建的文件夹下3、编写inf安装文件。
新建一个txt文本文档,并将其改名为*.inf安装文件,按照以下格式4、编写运行的bat文件。
新建一个txt文本文档,并将其改名为*.bat运行文件,按照以下5、运行编写好的bat文件。
将所有需要打包的文件和上两步编写好的inf、bat放在同一个目录下,双击bat文件运行,首先生成数字签名所需要的pvk、cer、spc文件,然后打包成cab,最后运行signcode.exe程序进行数字签名。
(以上步骤为双击bat文件后自动生成的)在signcode界面中,点击【下一步】,点击【浏览(R)…】,更改文件类型为*.cab,选中刚生成的cab文件,点击【打开】,然后点击【下一步】,选择【自定义】,然后点击【下一步】,点击【从文件选择】,打开刚才生成的cer文件,点击【下一步】首先选择【磁盘上的私钥文件】,点击浏览选择刚才生成的PVK文件,然后选择【CSP中的私钥】,在【密钥容器】中选择*.pvk(为刚才选择的pvk),点击【下一步】。
选中【sha1】,然后点击【下一步】选中【包括在以下PKCS#7(.p7b)文件中的证书(P)】,点击浏览,选择刚才生成的spc文件,点击【下一步】然后一直点击【下一步】直到数字签名完成。
四、版本控制对.cab包进行版本更新,使用户能够打开浏览器时自动下载更新.cab包,需进行如下处理。
一、VDK打包及签名1.流程:2.所需工具cabarc.exe 用于将ocx及所需dll文件打包成cab文件cert2spc.exe 将cer证书转为spc证书chktrust.exe 检测签名是否正确makecert.exe 制作数字证书signcode.exe 文件签名工具3.VDK打包CAB3.1制作INF文件生成文件vdk.inf[Version]signture=”$Title$”AdvancedINF=2.5[Add.Code]asit_vdk_dev.ocx = asit_vdk_dev.ocx[asit_vdk_dev.ocx]file-win32-x86=thiscabRegisterServer=yesclsid={99FF53BA-9966-4547-8B6B-E029AC077762}DestDir=11FileVersion=1,0,6,63.2制作CAB文件使用cabarc.exe将ocx及所需dll文件和inf文件打包成CAB文件包将所需的ocx和dll及inf文件放在同一个目录下,然后在dos下进入到该目录下,键入以下命令:D:\makeCAB>cabarc -s 6144 n vdk.cab vdk.ocx vdk.inf注意这里“F:/Cabsdk/BIN/”是cabarc.exe所在目录,vdk.cab是要生成的cab文件,inf 文件放在最后。
系统提示成功之后,会在ocx同目录下生成vdk.cab文件。
打包还可以使用其他工具,如老毛桃cab打包等。
4.对CAB进行签名4.1制作证书makecert -sv vdk.pvk -n ”CN=北京航天理想科技股份有限公司,O=test” vdk.cer 这个是制作证书,-sv指定主题的 .pvk 私钥文件。
如果该文件不存在,系统将创建一个(-sk则生成没有密钥的证书),CN是公司,E=EMail,O=认证公司的名称,vdk.cer是生成文件的名称4.2将cer证书转为spc证书cert2spc vdk.cer vdk.spc4.3给OCX文件进行数字签名双击signcode.exe后出现一个数字签名向导下一步选择需要签名的文件(vdk.cab)下一步这里选择了自定义下一步选择签名证书,从文件选择,选择刚才做好的vdk.spc下一步私钥,磁盘上的私钥文件,点浏览选择刚才做好的vdk.pvk下一步输入密码下一步选择算法,这里我选择的是sha1下一步默认下一步描述:输入安装证书时提示的文字,随便输入下一步时间默认下一步完成二、将CAB文件挂上服务器并修改网页中控件部分1.JS部分:<OBJECT ID="TestOCX" WIDTH="1000" HEIGHT="500"CLASSID="CLSID:99FF53BA-9966-4547-8B6B-E029AC077762"CODEBASE="vdk.cab#version=1,0,6,6"></OBJECT>其中CODEBASE=”这里填写CAB文件的路径,#version=1,0,6,6″是控件的版本号,要与ocx的版本号一致。