您的位置:首页 > 其它

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

2018-03-07 17:09 477 查看
    在先前转载的《浏览器插件之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)如果服务器已加入“可信任网址”,并且已导入证书,则不提示任何信息,在用户毫无感觉情况下下载。如果没有加入“可信任网址“,控件可以正常下载但仍然不能正常使用,与是否签名无关。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: