在Win7 下 Web发布cab文件打包的ActiveX控件总结

    在先前转载的《浏览器插件之ActiveX开发(一)》~《浏览器插件之ActiveX开发(四)》中,已经介绍了Active空间的开发流程。但是在《浏览器插件之ActiveX开发(三)》中生成cab打包发布一直搞不下去。现在做个总结下。

    打包activeX需要制作证书,具体用到makecert 、cert2spc 、signcode这三个VS提供的工具,工具在VS文件夹里面,以下制作过程需要在工具所在的文件夹下完成!要是找不到直接可以在这里下载,也可以从微软下载

1.Makecert.exe ---证书创建工具
2.Cert2Spc.exe ---发行者证书测试工具
3.Signcode.exe ---文件签名工具

(一)制作cab

    使用\WINDOWS\system32\iexpress.exe。

    1、单击"开始"-->"运行(R)"-->输入"cmd"-->回车-->iexpress-->回车;弹出可视化界面


2.选择“Create new Self Extraction Directive file”,点击下一步。


3.选择“Create compressed files only(ActiveX Installs)”,点击下一步。



4.点击Add,文件添加( MFCActiveXControl1.ocx,JL2CM3.dll,MFCActiveXControl1.inf),点击下一步。(根据自己的需要来定)



5.点击Browse,输入.CAB文件的存放地址(包含所取文件名),这里取demo.CAB,并且要选中 “Store files using Long File Name inside Package”。点击下一步。


6.选择“Don’t save”,一直点击下一步,直到完成。



 注意:
如果控件已经在客户机注册,并且不是通过.CAB的方式注册,那么通过.CAB自动注册的时候,该控件将无法被更新。必须先手动删除该文件。


(二)对cab进行数字签名

    1.将makecert 、cert2spc 、signcode这三个VS提供的工具放到要操作的文件的同一个目录下。

    2.输入命令: makecert -ss name -n CN=XX科技有限公司  -sv  demo.pvk -r  demo.cer   -$ "individual"

        其中sk-表示主题的密钥容器位置,

        ss-主题的证书存储名称, 

        n-证书颁发对象,

        r-证书存储位置,

        -sv 导出私钥文件(为了签名使用)。

        注意:这个时候会让输入三次密码,三次要完全一致。


    3.使用Cert2Spc生成spc发行者证书(可选):cert2spc demo.cer demo.spc



    4.运行signcode,打开可视化界面

        (1)运行可视化界面

        

        (2)单击"下一步"按钮,选择要进行数字签名的且已做成CAB包的文件Dome.cab文件


        (3)选择好CAB包后单击"下一步"按钮,在选择想要的签名类型里选择"自定议"并单击"下一步"按钮;


        (4)接下来单击"从文件选择"按钮,选择刚刚制作的demo.cer;


        (5)在单击"下一步",然后选择"磁盘上的私钥文件",选择刚生成的私钥demo.pvk;此时要输入先前设置的密码


        (6)在单击“下一步”按钮,然后在散列算法中选择“md5”,并单击“下一步”按钮。


        (7)在"证书路径中的证书"中选择"证书路径中的所有证书,包括根证书(C)",在"其它证书(可选)"中选择"包括在以下PKCS #7 证书(.p7b)文件中的证书(P):",并单击"浏览..."按钮选择demo.spc文件,选择完后单击"下一步"按钮;


        (8)接下来在弹出的"数据描述"窗口中输入公司的名称和网址并单击"下一步"按钮(此过程可以跳过,直接点“下一步”);


        (9)在接下来的一步当中是可选的操作,其作用只是为CAB加入时间戳,此步骤完全可以跳过

          http://timestamp.verisign.com/scripts/timstamp.dll


        (10)以上完成所有的步骤


        (11)点击“完成”,输入密码,然后完成所有步骤

       

  这样就对CAB文件进行了签名,但是这个时候点击这个文件会发现证书不可用,原因是证书没有安转。文件属性->数字签名->详细信息-〉查看证书-〉安装证书,进入安装证书向导,存放区域选择“受信任的根证书颁发机构”,点击完成即可。



    


        

在客户端测试:

1)加入证书,浏览器-〉工具-〉Internet选项-〉内容-〉证书-〉受信任的颁发机构-〉导入证书。
2)在有证书的情况下,如果服务器没有加入“可信任网址”,提示下载的时候会显示证书所签内容,没有证书则提示为“未知”。
3)如果服务器已加入“可信任网址”,并且已导入证书,则不提示任何信息,在用户毫无感觉情况下下载。如果没有加入“可信任网址“,控件可以正常下载但仍然不能正常使用,与是否签名无关。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值