• ActiveX控件的另类免费签名法


    这几天手上在做一个项目,要用到ActiveX控件,在签名这一步给卡住了,以前可以申请到免费一个月的证书,可我找了一个晚上,发现现在网上都没有这种证书可以申请了(可能有,但我不知道)。

         我都快给急死了,要是无法签名,那这个项目可就无法做下去了,这么一个小单专门去买个证书又不合算。前几个月硬盘坏过一次,以前用的签名文件都没了,搬出刻录的备份光盘一张一张的找,发现有一个文件名为“赖起疆.pfx”的证书文件,嘿……一时没想起来这个证书是干嘛用的,试着安装这个证书,发现是淘宝网支付宝的备份证书,看了一下证书的信息,嘿……心想,有门,可以试试。

    先从IE中导出证书文件

    运行签名工具signcode.exe
    文中提到的数字签名工具包,请在此处下载

    https://files.cnblogs.com/interdrp/SignTool.rar

    时间戳地址为: http://timestamp.verisign.com/scripts/timstamp.dll

    好了,现在我们来验证一下签名的结果

    在已签名的ActiveX控件单击右键-->属性
    我们来看一下签名的详细信息

    我们来看看最终在IE上运行的结果

    好了,完全成功!

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

         因我的系统是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=\"1px;height:1px;\"></OBJECT>");
    }else {
    }                
    </script>
  • 相关阅读:
    Java学习之Jdk配置
    Socket网络模型之Select模型
    c#之初见反射
    c++读取文件夹中的文件
    C#泛型的初步理解
    C#接口简单介绍
    c#类,属性,方法和对象基本介绍
    事件的基本认识
    委托的基本认识
    在Xshell中使用rz命令上传文件出现乱码且文件无法删除的解决办法
  • 原文地址:https://www.cnblogs.com/interdrp/p/1448382.html
Copyright © 2020-2023  润新知