当前位置: 首页 > news >正文

OCX控件数字签名图文教程(个人总结)

http://www.pfeng.org/archives/33/

这段时间做了一个B/S下套打的控件(过几天整理一下放到博客上来),控件测试完成,但是因为没有数字证书,IE如果不设置信任区域和等级的话,会直接被 阻止下载安装(我不期望客户能熟练地改IE设置),但是数字证书价格昂贵,暂不考虑,看到cnblogs上一篇文章后深受启发,照着搞了一个测试用的数字 签名,但是这篇文章上的OS貌似是win 2000,IE5,我有必要在win7下给大家做个演示:

首先,下载工具包:http://www.pfeng.org/tools/signtool.rar  , 解压(最好是根目录,方便后边敲路径),我的路径是E:/delphi/signtool/

 

然后在cmd下或者“运行”中输入:

view source
print ?
1 E:/delphi/SignTool/makecert -sv printocx.pvk -r -n "CN=KeHong Company" printocx.cer

 

这里的printocx.pvk是我新创建的私人密钥;CN=KeHong Company是持有人或者颁发者,你可以CN=XX公司;最后的printocx.cer则是新建的证书。

根据提示在弹出的窗口输入私钥密码(因为做这个证书的目的并不是为了安全,所以密码建议设成123456之类好记的):

 

执行结束后,在目录下会生成两个文件:printocx.pvk、printocx.cer。

 

证书的制作就是这么简单,下面我们来对自己做的ocx控件签名(我的控件是print.cab),双击目录里的signcode.exe文件,出现了数字 签名向导:

 

选择你做的控件:

 

下一步,签名选项选“自定义”,下一步,选择证书,点击“从文件选择”,这里要把默认类型换成X.509证书:

 

下一步,选择私钥,即刚才生成的printocx.pvk文件:

 

会提示输入密码,即上面你设置的密码,比如之前我建议你设的123456,下一步,算法选择sha1即可:

 

下一步,默认不用管:

 

下一步,数据描述,这里要认真写一下了,最后客户的IE浏览器提示的文件描述就是这里所填的:

 

下一步,时间戳也不用理会,直接下一步完成,最后会再次提示输入私钥,输入你设置的密码123456,确定,即提示“数字签名向导已完成”。

 

是不是全部搞定了呢?先别激动,看下你的ocx页面:

 

提示,右键选择安装,(win7或vista的系统还会提示一下是否允许更改,确定就是了),然后就会弹出这样的提示框:

 

可见,仍然被直接阻止,而且之前设置的颁布者、提示信息都没有显示,很显然,我们的工作还没有完成。接下来,我们需要把数字证书(cer文件)安装到根系 统存储区,“运行”执行如下命令:

view source
print ?
1 E:/delphi/SignTool/certmgr -add -c printocx.cer -s root

会有这样的一个提示,确定即可:

 

我们再来看看,打开页面后,提示已经可以显示出颁布者和软件内容说明了:

 

右键选择“为此计算机上所有用户安装此加载项”后,就出弹出这样的一个提示框,询问是否运行更改计算机,而且很清楚地显示了颁布者和软件名称,点击查看证 书,证书状态也正常,这里直接点击“是”安装即可,IE不再阻止(最后的提示是遮罩层提示,没法截图,用手机拍的)。

 

就此,OCX控件数字签名讲解完毕,当然还有一些需要考虑的:总不至于让用户执行安装证书的指令吧?!

这个问题也只能这样解决:做一个批处理,把certmgr -add -c printocx.cer -s root写到批处理中,把certmgr.exe和cer证书放到同目录,让用户在使用你的B/S系统之前执行这个批处理即可。我们前面所说的所有内容, 都是基于买不起付费数字证书的基础上,如果你们公司愿意买数字证书的话,那是最好不过的,否则只能用这样的笨办法给用户最简单的体验。当然,你能说动让用 户修改IE设置和安全级别的话,我也无话可说,此文仅供参考学习。

花絮: 忘记说一件事,还有一种免费而且不用安装证书的妙招呢,如果你有不用的支付宝电子证书,用这个方法做成签名证 书,用户访问页面的时候,直接就提示信息以及询问是否安装,而不直接阻止!当然,你的支付宝账户最好是没用的,以免你的密码被别有用心的人通过签名证书破 解,造成经济损失。

http://www.xdnf.cn/news/850087.html

相关文章:

  • 腾讯云轻量应用服务器如何搭建自己的CS GO游戏服务器?
  • WiMAX技术到底是什么? 究竟何谓WiMAX?
  • 运维之思科篇 -----1.VLAN 、 Trunk 、 以太通道及DHCP
  • 15个Google面试题以及答案
  • 快速上手的22 个电子电路项目
  • 如何使blackberry与outlook进行数据同步方法步骤
  • dos盘启动计算机,最新万能 DOS 启动盘制作全攻略(软盘+光盘+U盘+硬盘+NTFS+应急实用工具)...
  • 网页游戏常见外挂原理及防御
  • ExtJS快速入门学习指南
  • 开源魔兽服务端代码托管地址大全
  • IBM朱近之:服务助云计算在中国落地
  • 攻入网站后台的方法
  • [转转]数独网址
  • 8年程序员年初被迫毕业,前后面试30家公司,如今终于上岸
  • 最最喜欢的韩庚……这个资料-----顶了~/(≧▽≦)/~!!!
  • PE经典DIY案例1:全解开方案让量产PE也能
  • Website
  • 论坛聊天日常用语
  • 关于stage的讨论
  • 网络安全(黑客)专业术语
  • jdk 1.5 下载链接地址
  • 读书笔记-我所理解的生活
  • Windows Xp sp2 升级为 sp3
  • jBPM4.4开发(四)-----------sub-process节点
  • ⭐️WindowsXP原版系统镜像iso下载(操作系统概述 特性与功能视觉体验性能优化 安全性增强x86 64位 激活密钥免费产品文件地址 Professional Home Edition sp)
  • http直接调用paddlepaddle实现文字转语音,语音转文字
  • 算法设计与分析复习总结(二)
  • English 900 英语九百句
  • 如何高效开发一个OA办公系统?
  • JavaWeb-QQ空间项目解析