zoukankan      html  css  js  c++  java
  • 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>
  • 相关阅读:
    Centos7下rc.local文件开机不执行…
    Centos7添加密码安全策略
    Java8 时间日期类操作
    XML配置spring session jdbc实现session共享
    Spring Boot 2.x以后static下面的静态资源被拦截
    外观模式
    组合设计模式
    Java线程池源码解析
    观察者模式
    Java使用POI解析Excel表格
  • 原文地址:https://www.cnblogs.com/interdrp/p/1448382.html
Copyright © 2011-2022 走看看