分享

DsoFramer.ocx制作CAB包详细图解过程

 instl 2014-11-25

 本文DOC文档  相关资源下载地址:

http://download.csdn.net/source/2812514

 

首先我们将signcode.rar压缩到 C:/signcode

一、"数字证书"制作软件MakeCert

makecert.exe是一个微软出品的用来制作"数字签名"的软件,是命令行界面,利用它可以轻松地做出属于自己的个人"数字签名",当然自己做出来的这个数字签名是不属于受信任的证书的,但这并不太影响使用。

二、CAB压缩软件包制作工具IEXPRESS

MAKECAB.EXEGUI界面程序,用来把程序所需文件压缩打包为CAB格式,便于传输,当然如果你的程序是一个独立的EXE文件时,可以不需要用这个工具打包,但考虑现在多数免费空间不支持EXE格式的文件上传,建议打包!类似的工具还有命令行界面的Cabarc.exe

三、数字签名软件 Signcode

  我们可以使用signcode.exe和自己的"数字证书"签署自己的软件,给软件加上数字签名,使其可以在网页中运行

  大伙准备好了吗?下面就和我一起来属于自己的数字签名控件吧,Lets go......

 

第一步:制作"数字证书"

解压signcode.rarC盘根目录下,运行CMD进入dos 输入CD  C:/signcode

makecert的命令如下:

makecert -sv dsoframer.pvk -n "CN=钟德荣" -ss My -r -b 01/01/1900 -e 01/01/9999

其中

-sv dsoframer.pvk   意思是生成一个私匙文件 dsoframer.pvk

-n "CN=尚极工作室" 其中的"尚极工作室"就是签名中显示的证书所有人的名字,记住要改为你自己的或你想要的名字呀!

-ss My      指定生成后的证书保存在个人证书中

-r        意思是说证书是自己颁发给自己的,呵呵

-b 01/01/2009   指定证书的有效期起始日期,格式为 //年,最低为1900

-e 01/01/9999   指定证书的有效期终止日期,格式同上,我想9999年你应该是活不到的^)^

至于其他命令暂时用不到,我也不多做介绍啦。

 

在上面的界面中,不需要填私匙密码吧?直接点""按钮就可以拉,如果你喜欢麻烦就输入密码,并记住它。好啦!已经在目录下生成了你的私匙文件dsoframer.pvk,但证书在哪里?别急,打开IE "Internet选项",切换到"内容"标签,看到"证书"按钮没?点它!

 

 

图中上面那个截止日期为9999-1-1"尚极工作室"就是刚才自己生成的证书,把它"导出"dsoframer.cer,(其中的选项采用默认的编码格式)好啦,最重要的第一步已经完成!

第二步:把要用到的程序文件打包为CAB格式格式

首先建立dsoframer.inf文件,内容如下:

[Version]

signature="$CHICAGO$"

AdvancedINF=2.0

 

[Add.Code]

dsoframer.ocx=dsoframer.ocx

 

[dsoframer.ocx]

file-win32-x86=thiscab

RegisterServer=yes

CLSID={00460182-9E5E-11d5-B7C8-B8269041DD57}

FileVersion=2,3,1,0

DestDir = 11

 

注释:

"thiscab" 是一个关键字,意指包含该INFCAB文件。也可以从网上下载所需要的DLL文件,只要指定一个HTTP 网址即可,如:

file-win32-x86=http://www./mydir/NEEDED.DLL

关键字"file-win32-x86" 指定平台是 x86

选择文件,右键中,可看到文件版本号可见属性。

"DestDir"指的是装载目录或者文件的地址: 11 指定为系统目录 WINDOWS/ /SYSTEM32;

"clsid" 指的是要安装控件的CLSID

 

/*

如何查看ocxCLSIDVersion等信息:

 

*/

然后,运行IEXPRESS.EXEIEXPRESS.EXE为系统自带的程序,一般情况下,位于System/Windows目录下。

 

 

在上图中选中"创建新的自解压缩指令文件:Create new Self Extraction Directive file ",进入下一步,

 

在上图中选中"只创建压缩文件(ActiveX安装)Create compressed files only(ActiveX Installs)",进入下一步把用到的OCX文件和程序(包括程序调用的DLL,如果有的话)添加进列表中,千万不要忘记把"dsoframer.inf"也添加进来呀!

 

按照图配置选项后,就连续点"下一步"(说明:我第一次选择的OCX文件位于当前目录下,制作报错,然后,我将OCX文件复制到C盘的System32目录下,选择OCX文件时,也选择此目录下的dsoframer.ocx,即成功了。)

 

 

点击Browse,输入.CAB文件的存放地址(包含所取文件名),这里取TestCAB.CAB,并且要选中 “Store files using Long File Name inside Package”。点击下一步。

在上图中选择:Don’t Save,即可生成dsoframe.CAB

说明:CAB的文件名必须为8.3的格式,文件名不能太长,此制作过程可以先输入CAB包的文件名为:dsoFrame.CAB,制作完成后,再改成dsoFramer.CAB

 

第三步:为dsoframer.CAB签署数字签名

运行signcode.exe,选择dsoframer.CAB,如下图:

 

 

"签名选项窗体"中的"签名类型"选定"自定义(C)",如下图:

 

下一步,在“数字签名向导-签名证书”窗体中, 点击"从文件中选择"按钮,选择上面第一步导出的证书文件dsoframer.cer

 

 

 

再下一步的私匙选定第一步生成的dsoframer.pvk文件

 

 

!这样一个使用自己的"数字证书" 签署的具有"数字签名"可以在网页中运行的程序就做好啦!

第四步:当然就是把做好的程序嵌入到网页中,然后上传啦!

加入到网页中的代码如下:

                <object classid="clsid:00460182-9E5E-11D5-B7C8-B8269041DD57" id="FramerControl1"

 style="left: 0px; top: 0px; width: 100%; height: 16px" codebase="../DsoFramer/dsoFramer.CAB#V2,2,1,2">       

</object>

            

 本文档的doc文档及相关的制作同要的EXE文件的下载地址:http://download.csdn.net/source/2812514

 

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多