注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

斗天堂

douzsh还活着

 
 
 

日志

 
 

给控件做数字签名  

2008-05-06 19:20:14|  分类: C语言基础 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
我做了一个WebRtf的控件,主要是封装了RichtextBox控件,增加一些方法,如打印等,用来实现在Web上显示RTF文档的功能。 编译成WebRtf.ocx,在VB中测试成功,为了能在Web上使用,我们需要做两个工作:

一是将其打包成Internet发布包
二是将这个包进行数字签名

我一步一步抓图进行讲解,如果对于第一个部分你已经熟悉,可以直接略过进入第二部分,图上已经相当清楚,我只在必要的地方加一点描述。

一、将控件打包为Web发布包













为了包文件的完整性,建议将所有的文件设置为"Include in this cab",就是这个包里包含所有的依存文件,防止文件丢失导致控件不能正常运行









OK,第一部分完成了,注意这个打包文件旁边还有个htm文件,这个可以用来参考作具体的WEB应用的

程序代码 程序代码
<OBJECT ID="myDoc"
CLASSID="CLSID:753C5D11-7E87-4C54-B4E7-548F1251D7BA"
CODEBASE="WebRTF.CAB#version=1,0,0,7">
</OBJECT>

二、生成证书文件

准备好工具包,微软的IE SDK里包含这些工具,
但是那个开发包太过庞大,而且操作起来也稍微得繁琐了一些,你只需要下载这么几个文件就可以了
文中提到的数字签名工具包,请在此处下载
http://www.mzwu.com/newpic/20071006/SignTool.rar



进入DOS模式下该目录
为了便于操作,建议你将这个工具包放在磁盘根目录下,目录名称起得简单些
输入以下命令,生成一个名为babyt.cer的证书

程序代码 程序代码
makecert /sv "BabytOk.PVK" /n "CN=Facesun.cn,E=Babyt-163-com,O=阿泰" babyt.cer

其中各参数的含义,使用
makecert -?
makecert -!
可以获得详尽的帮助,在这里就不说了

在弹出的窗口输入密码保护你的证书,这个密码要在后面反复使用多次,所以要记住了





输入完成后界面上会提示Succeeded,在当前的目录下也生成了babyt.cer和babytOK.pvk两个文件



三、进行数字签名

































至此,数字签名完成
在DOS窗口下,输入

程序代码 程序代码
chktrust.exe E:\myTest\08\Package\WebRTF.CAB

对我们的成果进行检验





此时成功,对了,这个“恭喜”的红字是我做上去的,可别到时候这俩字出不来还觉得奇怪
最后就是发布了
将这两个文件拷贝到WEB目录下进行测试,出现证书安装提示后按是安装即可





下面就是我的控件在WEB上正常显示的结果.



怎么样了,会了吗?

Dnawo 2007-10-07补充:

1.MakeCert.exe生成的是测试证书,仅做测试用,使用时必须开启浏览器"对没有标记为安全的ActiveX控件进行初始化和脚本运行"和"下载未签名的ActiveX控件",否则浏览器将阻止ActiveX的下载,并显示"windows 已经阻止此软件因为无法验证发行者",点击开发商信息你会看到提示"由于当前的策略设置,该测试根不受信任;证书路径因此而终止“。



需要CA证书的朋友可到http://www.ca365.com/申请,是免费的、使用期限为一年,申请后立刻得到证书。需要注意的是申请时要选择正确的电子证书用途,这边我们应选择"代码签名证书"!还要注意安装好证书后17步中应选择典型,就不会像22步中提示你要私钥文件!!

使用不同的证书都需要安装相应的根证书,对于根证书没有集成在浏览器的证书须手动安装根证书!自动安装ca365根证书的方法见:http://www.ca365.com/handbook14.asp

2.第14步后可以使用Cert2Spc.exe生成.spc文件,然后在第18步中使用它,生成命令为:Cert2Spc babyt.cer babyt.spc

3.可以的话尽量加时间戳,它非常重要,添加时间戳后,即使您的代码签名证书已经过期,但由于您的代码是在证书有效期内签名的,则时间戳服务保证了此代码仍然可信,最终用户仍然可以放心下载,使得即使代码签名证书已经过期,您也无需重签和重新发布已经签名的代码。
  评论这张
 
阅读(190)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017