zoukankan      html  css  js  c++  java
  • 给控件做数字签名

    给控件做数字签名之一:将控件打包为Web发布包

    微软代码签名证书使用指南 http://www.wotrust.com/support/signcode_guide.htm

    签名重要性http://www.wotrust.com/FAQ/whySigning.htm

    中国数字认证网 http://www.ca365.com/

    SSL开放论坛 » 软件代码签名 http://www.openssl.com.cn/forum-22-1.html

    http://www.cnblogs.com/babyt/

    给控件做数字签名之一:将控件打包为Web发布包


    我做了一个WebRtf的控件,主要是封装了RichtextBox控件,增加一些方法,如打印等,用来实现在Web上显示RTF文档的功能。
    编译成WebRtf.ocx,在VB中测试成功,为了能在Web上使用,我们需要做两个工作
    一是将其打包成Internet发布包
    二是将这个包进行数字签名

    我一步一步抓图进行讲解,如果对于第一个部分你已经熟悉,可以直接略过进入第二部分
    图上已经相当清楚,我只在必要的地方加一点描述。

    第一部分:将控件打包成发布包

    clip_image001
    找到你原来工程的位置
    clip_image002
    clip_image003
    clip_image004
    clip_image005
    clip_image006
    为了包文件的完整性,建议将所有的文件设置为“Include in this cab”,就是这个包里包含所有的依存文件
    防止文件丢失导致控件不能正常运行
    clip_image007
    clip_image008
    clip_image009
    clip_image010

    OK,第一部分完成了,上面红色标注出来的就是打包好的文件的位置,
    注意这个打包文件旁边还有个htm文件,这个可以用来参考作具体的WEB应用的

    clip_image011<OBJECT ID="myDoc"
    clip_image011[1]CLASSID="CLSID:753C5D11-7E87-4C54-B4E7-548F1251D7BA"
    clip_image011[2]CODEBASE="WebRTF.CAB#version=1,0,0,7">
    clip_image011[3]</OBJECT>

    下面开始进入第二部分,数字签名与发布


    给控件做数字签名之二:生成证书文件

    准备好工具包,微软的IE SDK里包含这些工具,
    但是那个开发包太过庞大,而且操作起来也稍微得繁琐了一些你只需要下载这么几个文件就可以了
    文中提到的数字签名工具包,请在此处下载
    https://files.cnblogs.com/babyt/SignTool.rar
    clip_image012
    首先我们要制作一个证书
    进入DOS模式下该目录
    为了便于操作,建议你将这个工具包放在磁盘根目录下,目录名称起得简单些
    输入以下命令,生成一个名为babyt.cer的证书

    clip_image011[4]makecert /sv "BabytOk.PVK" /n "CN=Facesun.cn,E=Babyt-163-com,O=阿泰" babyt.cer

    其中各参数的含义,使用
    makecert -?
    makecert -!
    可以获得详尽的帮助,在这里就不说了
    在弹出的窗口输入密码保护你的证书,这个密码要在后面反复使用多次,所以要记住了
    clip_image013
    clip_image014
    输入完成后界面上会提示Succeeded,在当前的目录下也生成了babyt.cer和babytOK.pvk两个文件
    clip_image015
    下面我们开始对前面打包好的控件进行签名。

    给控件做数字签名之三:进行数字签名

    双击工具包里的signcode.exe
    文中提到的数字签名工具包,请在此处下载
    https://files.cnblogs.com/babyt/SignTool.rar
    clip_image016
    clip_image017
    clip_image018
    clip_image019
    clip_image020
    clip_image021
    clip_image022
    clip_image023
    clip_image024
    clip_image025
    clip_image026
    clip_image027
    clip_image028
    clip_image029
    clip_image030
    clip_image031
    至此,数字签名完成
    在DOS窗口下,输入

    clip_image011[5]chktrust.exe E:\myTest\08\Package\WebRTF.CAB


    对我们的成果进行检验
    clip_image032
    clip_image033
    此时成功,对了,这个“恭喜”的红字是我做上去的,可别到时候这俩字出不来还觉得奇怪clip_image034
    最后就是发布了
    将这两个文件拷贝到WEB目录下进行测试,出现证书安装提示后按是安装即可clip_image035
    clip_image036

    下面就是我的控件在WEB上正常显示的结果.


    clip_image037
    怎么样了,会了吗?


    -------Over------------------
    希望对你有所帮助,也别枉费了我的辛苦
    阿泰 20050314

    补充:
    MakeCert.exe生成的是测试证书,仅做测试用,使用时必须开启浏览器"对没有标记为安全的ActiveX控件进行初始化和脚本运行"和"下载未签名的ActiveX控件",否则浏览器将阻止ActiveX的下载,并显示"windows 已经阻止此软件因为无法验证发行者",点击开发商信息你会看到提示"由于当前的策略设置,该测试根不受信任;证书路径因此而终止"。
    需要CA证书的朋友可到http://www.ca365.com/申请,是免费的、使用期限为一年,申请后立刻得到证书。需要注意的是申请时要选择正确的电子证书用途,这边我们应选择"代码签名证书"!还要注意安装好证书后17步中应选择典型,就不会像22步中提示你要私钥文件,否则无法完成数字签名!!

  • 相关阅读:
    FJNU 1151 Fat Brother And Geometry(胖哥与几何)
    FJNU 1157 Fat Brother’s ruozhi magic(胖哥的弱智术)
    FJNU 1159 Fat Brother’s new way(胖哥的新姿势)
    HDU 3549 Flow Problem(最大流)
    HDU 1005 Number Sequence(数列)
    Tickets(基础DP)
    免费馅饼(基础DP)
    Super Jumping! Jumping! Jumping!(基础DP)
    Ignatius and the Princess IV(基础DP)
    Keywords Search(AC自动机)
  • 原文地址:https://www.cnblogs.com/dachie/p/1737687.html
Copyright © 2011-2022 走看看