首先我们将 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