对开发的程序(制作CAB)进行签名,并允许网站中使用

类别:.NET开发 点击:0 评论:0 推荐:

1 建立安装程序,用VB打包
2 多个文件压缩,用IExpree2.0,选"将文件解开并运行安装命令",生成一个"压缩运行文件"
3 对"压缩运行文件"进行签名,用signcode(在这之前要生成一个.cer的证书文件,如何生成一会儿说)
4 写入<OBJECT>代码,CLSID没有关系的,只要格式一样就行!但是有另外一个属性叫CODEBASE的要用你的"压缩运行文件",比如:
<object id=RootCert classid='clsid:D1056C7C-E30B-4234-9A4B-7E1038B16797' codebase='test.exe#version=1,0,0,1' width=0 height=0></object>

如果你的VB工程有版本号,那么就在version=换成你的版本号,以后别人机器上即使安装过你的软件,但版本没有你的版本号高的话,一样会被执行安装的

好,那么开始说如何制作证书
可参考这里:
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vccore/html/creating_signed_cab_files_for_mfc_and_atl_controls.asp

1 先下载证书制作工具
http://download.microsoft.com/download/b/e/f/bef2551b-401d-4311-ab8f-13d3892b8154/codesigningx86.exe
解压
2 用makecert.exe制作证书
makecert -sk 罗君sk -ss 罗君ss -n CN="罗君n" -m 12 luojun.cer

-sk 表示私人密钥
-ss 表示描述
-n CN="" 这里面是公司名称
-m 有效月数
luojun.cer 输出的证书名

3 用cert2spc.exe建立出版商的说明文件
cert2spc luojun.cer luojun.spc

4 已经建立了,那么,用signcode如何签名呢?按以下步骤:
   (1) 下一步
   (2) 选择要签名的exe文件,就是我们上面说的"压缩运行文件"
   (3) 自定义 下一步
   (4) 从文件选择->选择你的"出版商的说明文件",即luojun.spc文件->下一步
   (5) CSP中的私钥->"Microsoft Strong Cryptographic Provide"->"RSA FULL"->"罗君sk"->"签名"->"下一步"
   (6) 选择一种算法(个人比较喜欢MD5)->下一步
   (7) 这里的不要变!->下一步
   (8) 输入签名"描述"及描述的"网址"
   (9) 将时间戳添加到数据在中: http://timestamp.verisign.com/scripts/timstamp.dll
   (10) 完成
5 全部OK了,可以把你的压缩运行文件放到OBJECT里去了:)

本文地址:http://com.8s8s.com/it/it42808.htm