OCX控件数字签名图文教程[通俗易懂]

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

大家好,又见面了,我是你们的朋友全栈君。

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

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

OCX控件数字签名图文教程[通俗易懂]

然后在cmd下或者“运行”中输入:
E:\delphi\SignTool\makecert -sv printocx.pvk -r -n "CN=KeHong Company" printocx.cer

OCX控件数字签名图文教程[通俗易懂]

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

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

OCX控件数字签名图文教程[通俗易懂]OCX控件数字签名图文教程[通俗易懂]

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

OCX控件数字签名图文教程[通俗易懂]

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

OCX控件数字签名图文教程[通俗易懂]

选择你做的控件:

OCX控件数字签名图文教程[通俗易懂]

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

OCX控件数字签名图文教程[通俗易懂]

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

OCX控件数字签名图文教程[通俗易懂]

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

OCX控件数字签名图文教程[通俗易懂]

下一步,默认不用管:

OCX控件数字签名图文教程[通俗易懂]

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

OCX控件数字签名图文教程[通俗易懂]

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

OCX控件数字签名图文教程[通俗易懂]

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

OCX控件数字签名图文教程[通俗易懂]

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

OCX控件数字签名图文教程[通俗易懂]

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

E:\delphi\SignTool\certmgr -add -c printocx.cer -s root

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

OCX控件数字签名图文教程[通俗易懂]

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

OCX控件数字签名图文教程[通俗易懂]

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

OCX控件数字签名图文教程[通俗易懂]

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158456.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pix2pix模型(雪花算法原理)

    一、算法名称Pix2pix算法(Image-to-ImageTranslation,图像翻译)来源于论文:Image-to-ImageTranslationwithConditionalAdversarialNetworks二、算法简要介绍、研究背景与意义2.1介绍图像处理、图形学和视觉中的许多问题都涉及到将输入图像转换为相应的输出图像。这些问题通常使用特定于应用程序的算法来处理,尽管设置总是相同的:将像素映射到像素。条件对抗性网(cGAN)是一种通用的解决方案,它似乎能很好地解决各

    2022年4月11日
    145
  • 每天进步一点点——五分钟理解一致性哈希算法(consistent hashing)[通俗易懂]

    每天进步一点点——五分钟理解一致性哈希算法(consistent hashing)[通俗易懂]五分钟让你深入了解分布式系统中常用的一致性哈希算法

    2022年7月27日
    4
  • phpstudy安装好之后mysql无法启动(亲测可行)

    phpstudy安装好之后mysql无法启动(亲测可行)

    2021年10月29日
    39
  • 微信小程序中-[渲染层网络层错误] pages/card/card.wxss 中的本地资源图片无法通过 WXSS 获取-解决办法

    微信小程序中-[渲染层网络层错误] pages/card/card.wxss 中的本地资源图片无法通过 WXSS 获取-解决办法1、报错原由微信小程序使用background-image运行时报错pages/index/index.wxss中的本地资源图片无法通过WXSS获取,可以使用网络图片,或者base64,或者使用标签。小程序样式中不允许小程序路径2、解决方法1.使用图片的网络路径background:url(‘http://1812.img.pp.sohu.com.cn/images/blog/2009/11/18/18/8/125b6560a6ag214.jpg’);2.base64将图

    2022年6月24日
    39
  • 操作系统实验一进程管理实验报告_对进程的管理和控制使用

    操作系统实验一进程管理实验报告_对进程的管理和控制使用实验一进程管理1.目的和要求通过实验理解进程的概念,进程的组成(PCB结构),进程的并发执行和操作系统进行进程管理的相关原语(主要是进程的创建、执行、撤消)。2.实验内容用C语言编程模拟进程管理,至少要有:创建新的进程;查看运行进程;换出某个进程;杀死运行进程以及进程之间通信等功能。3.实验环境Windows操作系统、VC++6.0C语言4.实验提示PCB结…

    2022年9月10日
    0
  • android 分区丢失,分区数据恢复

    android 分区丢失,分区数据恢复作者:SelenaKomez5月23,2018上更新总结:硬盘分区被删除或丢失?如何取回已删除或丢失的分区?数据恢复软件将帮助您恢复数据,即使在Windows或Mac计算机上删除或丢失分区。执行分区数据恢复不需要任何技术技能。硬盘分为一个或多个逻辑分区,以便更好地进行资源管理,并根据用户要求将数据分布在不同的位置。这些逻辑分区称为分区,并给出了某些独立硬盘协调工作的错觉。但是,计算机分…

    2022年8月11日
    25

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号