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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 浏览器插件,轻松-快速获取网站源代码

    浏览器插件,轻松-快速获取网站源代码

    2022年2月21日
    55
  • java 身份证15位转18位「建议收藏」

    java 身份证15位转18位「建议收藏」1/**2*根据身份证号获取性别3*4*@parampid5*身份证号6*@return性别F为女M为男7*/8publicstaticStringg

    2022年8月5日
    9
  • 利用selenium webdriver下载不同类型的文件(pdf,txt等等)[通俗易懂]

    利用selenium webdriver下载不同类型的文件(pdf,txt等等)[通俗易懂]很多时候你需要从网站上下载不同种类的文件,像是MSExcelfile,MSWordFile,Zipfile,PDFfile,CSVfile,Textfile,等等。如果手动下载,会弹出一个保存文件的对话框。现在,seleniumwebdriver还不能处理这样的对话框。不过,你可以用别的好的seleniumwebdriver的特点去很轻松的下载文件,而不用

    2025年11月24日
    5
  • linux环境安装mariadb,linux环境下安装Mariadb

    linux环境安装mariadb,linux环境下安装Mariadb一、下载安装mariadb是属于mysql的一个分支,是其创始人在mysql被卖给oracle之后重新分出来的,maria取自于他女儿的名字。mariadb完全兼容于mysql,在很多新版本的linux系统中,mysql都已经被替换成了mariadb。mariadb的官网:mariadb官网,下载地址:下载地址。最新稳定版本的下载直链为:wgethttps://downloads.mariadb…

    2022年6月8日
    209
  • java populate_BeanUtils 以及BeanUtils.populate使用[通俗易懂]

    java populate_BeanUtils 以及BeanUtils.populate使用[通俗易懂]ApacheJakartaCommons项目非常有用。我曾在许多不同的项目上或直接或间接地使用各种流行的commons组件。其中的一个强大的组件就是BeanUtils。我将说明如何使用BeanUtils将local实体bean转换为对应的value对象:BeanUtils.copyProperties(aValue,aLocal)上面的代码从aLocal对象复制属性到aValue对象。它相…

    2022年7月14日
    36
  • OpenSearch 简单学习

    OpenSearch 简单学习OpenSearch 简单学习项目中用到了阿里云的开放搜索 进行一下总结 OpenSearch 基于阿里巴巴自主研发的大规模分布式搜索引擎平台 该平台承载了阿里巴巴全部主要搜索业务 包括淘宝 天猫 一淘 1688 ICBU 神马搜索等业务 OpenSearch 以平台服务化的形式 将专业搜索技术简单化 低门槛化和低成本化 让搜索引擎技术不再成为客户的业务瓶颈 以低成本实现产品搜索功能并快速迭代

    2025年7月5日
    7

发表回复

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

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