ActiveX控件数字签名实践(免费签名)

ActiveX控件可以自己签名,但是证书认证需要花钱的,不过也可以使用一种办法不用花钱就能认证。

 

数字签名工具包下载:SignTool.rar /Files/KimSky/SignTool.rar 

-----------------------------------------------------

 

一.自己创建证书文件:

-----------------------------------------------------

 1. 先使用makecert /sv "私钥文件名.pvk" /n "CN=你的信息" "证书文件名.cer",创建相应的
   私钥证书文件(会有成功提示)
   私钥要让你输入一个字符串,前后要输一样。我直接用GUID


2、使用cert2spc "证书文件名.cer"  "#7文件名.spc" (会有成功提示)

3、使用VB做好控件,并生成OCX文件,经过打包成.CAB文件(同时还有个测试用的.HTM文件)

4、双击signcode执行。

     一、选择被加入证书的文件(这儿最容易出错,应选择那个.CAB文件,很多朋友是选了.OCX文件,就是错在这儿了)

     二、(使用自定义)选择.SPC文件 

     三、选择.PVK文件。

 

    下面就一路NEXT就行了。

 

-----------------------------------------------------

 

二.使用第三方认证证书:这里使用支付宝证书

-----------------------------------------------------

1.双击打开SignCode.exe,选择要数字签名的cab文件。

2.选择自定义。

3.选择“从存储区选择...”

   然后一路 下一步 就可以了。

   其中时间戳服务器,这里有个免费的:http://timestamp.verisign.com/scripts/timstamp.dll 写上去就完了,这样就完成了签名

   也可以不填写时间戳

 

 

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

chktrust.exe E: \ myTest \ 08 \ Package \ WebRTF.CAB

对我们的成果进行检验

 

     最后说明一下,使用的证书是淘宝网支付宝的证书,只要你有用支付宝,那么你就有这么一个以你名字命名的数字证书,同时也不怕证书会过期,只要证书过期了,你上淘宝网,注销一下证书,重新生成一份就是了。

     因我的系统是Windows 2008 所以如果你用Vista以前的系统运行后看到的图片跟我的贴图可能有点不一样。

     有一个问题要注意,如果签名成功后,你的控件还是无法在IE中显示,那很大的可能是你控件本身有问题。

 

在实际应用当中并不是所有的电脑用户都有使用《淘宝》网上购物的,那么,针对这类用户,其实有一个很另类的方法,就是在网页上用JavaScript来判断对方电脑是否安装有《淘宝》的安全插件,如果没有,那么在代码中连接到《淘宝》网下载安装一个控件,这样在客户电脑上就有了淘宝的根证书了,然后会再下载安装我们的控件。

以下为在网页中插入的脚本:

 

< script type = " text/javascript " >
var  itruspta1;
try  {
itruspta1
= new  ActiveXObject( " PTA.iTrusPTA " );
}
catch (e){
}
// 判断是否安装控件
if (itruspta1 == null ){
document.write(
" <OBJECT id=\ " iTrusPTA\ "  codeBase=\ " https: // img.alipay.com/download/1101/aliedit.cab#Version=2,4,2,471\" classid=\"clsid:1E0DFFCF-27FF-4574-849B-55007349FEDA\" style=\"width:1px;height:1px;\"></OBJECT>");
} else  {
}                
< / script>
 

我觉得使用第二种方式可以免费使用证书,但是可能会对你的这个证书造成不安全因素。

所以我想还得找另一种方法:ActiveX手动下载安装包。

 

 

参考:

 http://www.cnblogs.com/babyt/archive/2005/03/14/118309.html

 http://www.lougoo.com/blog/article.asp?id=234

 http://www.cnblogs.com/interdrp/archive/2009/05/03/1448382.html

你可能感兴趣的:(ActiveX)