本次使用makecert的命令如下:

makecert -sv online.pvk -n "CN=中国在线" -ss My -r -b 01/01/1900 -e 01/01/9999

其中

-sv online.pvk   意思是生成一个私匙文件 online.pvk

-n "CN=中国在线" 其中的“中国在线”就是签名中显示的证书所有人的名字

-ss My      指定生成后的证书保存在个人证书中

-r        颁发给自己

-b 01/01/2007   指定证书的有效期起始日期,格式为月/日/年,最低为1900年

-e 01/01/3000   指定证书的有效期终止日期。

导出个人  倒  受信任的根证书颁发机构

这样就有自己合法的CA证书了。

使用Cert2Spc生成spc发行者证书: cert2spc c:\31.cer c:\31.spc

使用signcode为你的程序,库或cab包签名: 双击signcode,或在控制台键入signcode,不带参数会启动签名向导。在第三步选择“自定义选项”,第四步选择“从文件选择”选择31.spc 或31.cer,第五步选择“CSP中的私钥”,在密钥容器中选择我们定义的myPK,其他步骤默认即可,如果想添加时间戳,请在时间戳服务器地址上键入:(免费时间戳认证)http: //timestamp.verisign.com/scripts/timstamp.dll 完成后,观察你所签名的文件属性,应该已经添加数字签名项。

以上方法 XP2测试通过

给代码签名的六个步骤

微软公司

通过微软的 Internet Explorer, Microsoft Authenticode" 技术允许最终用户在从网上下载软件之前,能够确认这个软件的出版者,并且能验证这个软件是否被篡改。Authenticode 提供了证明软件可用性的方法。一旦软件出版商申请到他们的数字证书时,Microsoft ActiveX" SDK就提供给他们根据工业标准数字签名技术给代码签名的工具。

对于软件出版商,代码签名需要六个步骤:

  1. 下载最新版本的Internet Explorer http://www.microsoft.com/windows/ie/download/ 网址可以得到最新版本的Internet Explorer。你需要用它来申请你的证书以及浏览你的签名代码。
  1. 向证书权威机构申请证书
    软件出版者可在http://www.microsoft.com/intdev/security/authcode/ 网址向证书权威机构 (CA)申请证书,通过访问CA的Web站点可进行在线申请并填写相应表格。
    你可以选择申请个人的或商业的软件出版者证书。如果是商业机构,就申请商业出版商证书,反之,则申请个人软件发行人证书。
    完成申请工作以后,CA需要大约一周的时间来调查申请者的信息。最后,申请者会得到CA签发的证书和一个需要你妥善保存的秘钥,你需要使用这两者完成为代码签名的工作。
  1. 下载最新版本的 ActiveX SDK
    http://www.microsoft.com/intdev/sdk/ 网址可以下载最新版本的ActiveX SDK。为代码签名的工具就在这个工具箱中,其中还提供了相关文档。
  1. 准备好要被签名的文件
    如果这个文件是可执行文件,如.EXE、 .OCX、 .DLL等,就不需要做特殊的工作。对于 cab 文件,你需要在创建这个cab文件以前把下面的入口加到你的.DDF 文件中。(写一个INF文件)
    .Set ReservePerCabinetSize=6144
  1. 给文件签名
    现在你就可以给你的.EXE、 .CAB、 .OCX、或者 .DLL文件签名了。范例如下:
    signcode -prog myfilename -name displayname -info http://www.mycompany.com -spc mycredentials.spc -pvk myprivatekey.pvk
    myfilename:要签名的文件名称
    displayname:证书中对该文件的描述
    http://example.microsoft.com 提供给用户关于下载文件的更详细的信息。
    mycredentials:从CA获得的证书文件
    myprivatekey:在向CA申请过程期间生成的秘钥。
    (注意如果你不带任何参数运行signcode,它将会激活一个向导帮助你一步一步完成签名过程)
  1. 测试签名
    运行chktrust文件名  测试.EXE、 .DLL、或 .OCX 文件的签名
    运行chktrust -c cab文件名.cab测试cab文件的签名
    签名进程一旦工作,即会显示一个证书。
    好了,现在你已经完成了为文件签名的工作。当使用Internet Explorer从一个Web站点下载这个文件时,用户将会看到一个相同的证书。如果这个文件在经过签名程序后被篡改,就会有提示出现告诉用户不要安装。

Activex 数字签名的更多相关文章

  1. ActiveX控件的安全初始化和脚本操作 和 数字签名SIGN

    摘要:数字签名SIGN保证控件在下载时候的安全性.如果你的代码已经经过数字签名,即使用户IE的安全设置很高也能下载,安装并登记.但是在页面上初始化,或者用脚本运行这个控件,为了保证安全性,还需要进行M ...

  2. Delphi发布ActiveX控件 制作CAB包 数字签名相关

    文件: SignTool.rar 大小: 84KB 下载: 下载 最近我正在研究ActiveX技术.我使用Delphi 7创建了一个具有ActiveForm的ActiveX控件应用程序.这个控件产生一 ...

  3. C#制作、打包、签名、发布Activex全过程

    一.前言 最近有这样一个需求,需要在网页上面启动客户端的软件,软件之间的通信.调用,单单依靠HTML是无法实现了,因此必须借用Activex来实现.由于本人主要擅长C#,自然本文给出了用C#实现的范例 ...

  4. 用C#开发ActiveX控件,并使用web调用

    入职差不多两个月了,由学生慢慢向职场人做转变,也慢慢的积累知识,不断的更新自己.最近的一个项目里边,涉及到的一些问题,因为SDK提供的只是winform才能使用了,但是有需求咱们必须得完成啊,所以涉及 ...

  5. ActiveX控件打包、签名、嵌入详解

    ActiveX控件打包.签名.嵌入详解 前言 在我们的一个项目中,使用到了大华网络监控摄像头枪机,网络上下载了其ActiveX插件,但是发现其所提供的类库没有打包处理.这就导致我们每次给用户安装的时候 ...

  6. 使用C#开发ActiveX控件(新)

    前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是 ...

  7. C# Activex开发、打包、签名、发布 C# Activex开发、打包、签名、发布 [转]

    C# Activex开发.打包.签名.发布 2013-06-22 12:01:20 浏览:3823 一.前言 最近有这样一个需求,需要在网页上面启动客户端的软件,软件之间的通信.调用,单单依靠HTML ...

  8. .Net魔法堂:史上最全的ActiveX开发教程——发布篇

    一. 前言 接着上一篇<.Net魔法堂:史上最全的ActiveX开发教程——开发篇>,本篇讲述如何发布我们的ActiveX. 二.废话少讲,马上看步骤! 1. 打包  C#开发的Activ ...

  9. 使用C#开发ActiveX控件(新) 转 http://www.cnblogs.com/yilin/p/csharp-activex.html

    前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是 ...

随机推荐

  1. Linux中常用命令 <一>

    本笔记中记录的命令来源于 <Linux C 编程实战> ------------------------------------------------------------------ ...

  2. beego学习笔记(4):开发文档阅读(5)

    controller的逻辑: 我们看下面的代码,就知道怎么传值的: import ( "github.com/astaxie/beego" ) type MainControlle ...

  3. IEnumerable的几个简单用法

    咋一看到IEnumerable这个接口,我们可能会觉得很神奇,在一般的编程时,基本上我们是想不到去用它的,可是,俗话说得好,存在便是道理,那么,它对我们来说,能够带来哪些奇妙的事情呢? 要想弄懂它,我 ...

  4. vue单文件中scoped样式如何穿透?

    在vue文件中的style标签上,有一个特殊的属性:scoped.当一个style标签拥有scoped属性时,它的CSS样式就只能作用于当前的组件,也就是说,该样式只能适用于当前组件元素.通过该属性, ...

  5. day4正则表达式

    语法: 正则表达式是处理字符串的函数,我们在Excel函数中也有很多这样的公式,因为学过一些Excel,所以看一下有什么不同的方法. import re       #导入re模块,处理正则表达式的模 ...

  6. 如何设计一个基于Node.js和Express的网站架构?

    前言 今年七月份,我和几个小伙伴们合伙建立了一个开发团队.业务开展如火如荼的同时,团队宣传就提上了日程,所以迫切需要搭建公司网站出来.确定目标后我们就开始考虑如果构建一个企业网站.先是进行业内调查,看 ...

  7. list 往指定的下标插入元素

    list 往指定的下标插入元素 import java.util.*; public class ListExample{ public static void main(String[] args) ...

  8. ArrayBuffer对象、TypedArray视图和DataView视图

    转:http://es6.ruanyifeng.com/#docs/arraybuffer ArrayBuffer ArrayBuffer 对象 TypedArray 视图 复合视图 DataView ...

  9. Java synchronized的原理解析

    开始 类有一个特性叫封装,如果一个类,所有的field都是private的,而且没有任何的method,那么这个类就像是四面围墙+天罗地网,没有门.看起来就是一个封闭的箱子,外面的进不来,里面的出不去 ...

  10. HTML中的ul, ol,li , dl,dt, dd标签

    ul: unordered lists ol: ordered lists li: Lists ol 有序列表. <ol><li>……</li><li> ...