本文DOC文档 相关资源下载地址:
http://download.csdn.net/source/2812514
首先我们将signcode.rar压缩到 C:/signcode
一、"数字证书"制作软件MakeCert
makecert.exe是一个微软出品的用来制作"数字签名"的软件,是命令行界面,利用它可以轻松地做出属于自己的个人"数字签名",当然自己做出来的这个数字签名是不属于受信任的证书的,但这并不太影响使用。
二、CAB压缩软件包制作工具IEXPRESS
是MAKECAB.EXE的GUI界面程序,用来把程序所需文件压缩打包为CAB格式,便于传输,当然如果你的程序是一个独立的EXE文件时,可以不需要用这个工具打包,但考虑现在多数免费空间不支持EXE格式的文件上传,建议打包!类似的工具还有命令行界面的Cabarc.exe;
三、数字签名软件 Signcode
我们可以使用signcode.exe和自己的"数字证书"签署自己的软件,给软件加上数字签名,使其可以在网页中运行
大伙准备好了吗?下面就和我一起来属于自己的数字签名控件吧,Lets go......
第一步:制作"数字证书"
解压signcode.rar到C盘根目录下,运行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" 是一个关键字,意指包含该INF的CAB文件。也可以从网上下载所需要的DLL文件,只要指定一个HTTP 网址即可,如:
file-win32-x86=http://www.mysite.com/mydir/NEEDED.DLL
关键字"file-win32-x86" 指定平台是 x86。
选择文件,右键中,可看到文件版本号可见属性。
"DestDir"指的是装载目录或者文件的地址: 11 指定为系统目录 WINDOWS/ /SYSTEM32;
"clsid" 指的是要安装控件的CLSID。
/*
如何查看ocx的CLSID和Version等信息:
*/
然后,运行IEXPRESS.EXE,IEXPRESS.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