MakeCert CAB压缩 Signcode

来源:互联网 发布:php算法面试题 编辑:程序博客网 时间:2024/05/22 00:10

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

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

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

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

第一步:制作"数字证书"
本次使用makecert的命令如下:
makecert -sv icyfox.pvk -n "CN=冰狐浪子" -ss My -r -b 01/01/1900 -e 01/01/9999
其中
-sv icyfox.pvk   意思是生成一个私匙文件 icyfox.pvk
-n "CN=冰狐浪子" 其中的"冰狐浪子"就是签名中显示的证书所有人的名字,记住要改为你自己的或你想要的名字呀!
-ss My      指定生成后的证书保存在个人证书中
-r        意思是说证书是自己颁发给自己的,呵呵
-b 01/01/1900   指定证书的有效期起始日期,格式为 月/日/年,最低为1900年
-e 01/01/9999   指定证书的有效期终止日期,格式同上,我想9999年你应该是活不到的^)^
至于其他命令暂时用不到,我也不多做介绍啦。

不需要填私匙密码吧?直接点"无"按钮就可以拉,如果你喜欢麻烦就输入密码,并记住它。好啦!已经在目录下生成了你的私匙文件icyfox.pvk,但证书在哪里?别急,打开IE 的"Internet选项",切换到"内容"标签,看到"证书"按钮没?点它! 图中上面那个截止日期为9999-1-1的"冰狐浪子"就是刚才自己生成的证书,把它"导出"为icyfox.cer,好啦,最重要的第一步已经完成!

 


第二步:把要用到的程序文件打包为CAB格式格式
首先建立runexe.inf文件,内容如下:
[Version]
Signature=$CHICAGO$

[icyfox]
run=%EXTRACT_DIR%/icyfox.exe

[Setup Hooks]
icyfox=icyfox

记得要把上面的"icyfox.exe"改为你的程序名!
然后,运行IEXPRESS.EXE,选中"创建新的自解压缩指令文件",进入下一步,选中"只创建压缩文件(ActiveX安装)",进入下一步把用到的程序包括程序调用的DLL(如果有的话)添加进列表中,千万不要忘记把"runexe.inf"也添加进来呀!按照图配置选项后,就连续点"下一步",即可生成icyfox.CAB。
[注:如果你的程序是单独的一个EXE文件,也可以省去本步骤!]

【生成cert证书
数字签名要到Microsoft 下载Active SDK Tools 包
包里有makecert.exe cert2spc.exe signcode.exe
为得到签名用的spc格式
makecert /sv "key.pvk" /n "cn=VicAli" VicAli.cer
执行过程中会要求输入密码,密码要一致 


cert2spc VicAli.cer VicAli.spc
生成VicAli.spc文件



对cab文件进行签名
运行singcode,选择Abcd.cab
下一步后出现签名选项,选择自定义,选择VicAli.spc ,在选择key.PVK,
输入密钥的保护密码
,选择MD5,下一步,下一步,下一步结束签名

第三步:为icyfox.CAB签署数字签名
运行signcode.exe,选择icyfox.CAB,"签名选项"中的"签名类型"选定"自定义(C)",下一步 "从文件中选择"上面第一步导出的证书文件icyfox.cer,再下一步的私匙选定第一步生成的icyfox.pvk文件,然后进入描述,注意,图中"描述(可选)":下的输入框中输入的文字在把程序嵌入网页中是会出现,请你根据"个人爱好"写上相应的描述语句,剩下的就点下一步了事!这样一个使用自己的"数字证书" 签署的具有"数字签名"可以在网页中运行的程序就做好啦!
第四步:当然就是把做好的程序嵌入到网页中,然后上传啦!
加入到网页中的代码如下(CS.HTM):
<HTML><head>
<title>"数字签名"自己做 之控件测试</title></head>
<BODY>
<OBJECT width=0 height=0 style="display:none;" TYPE="application/x-oleobject" CODEBASE="icyfox.CAB"></OBJECT>
</BODY>
</HTML>

访问CS.HTM,

当访问者点击"是"按钮后,程序就会运行,呵呵,这样的界面你还满意吗?这样的在线工具是不是即可方便网友,又显示出自己的个性呀!更重要的可以给自己的主页增加人气噢!你还等啥?快去做吧!如果你想用它做个控件木马我也无话可说......

http://msdn2.microsoft.com/zh-cn/library/9sh96ycy.aspx
http://msdn2.microsoft.com/zh-cn/library/bfsktky3(VS.80).aspx