zoukankan      html  css  js  c++  java
  • Activex 数字签名

    本次使用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站点下载这个文件时,用户将会看到一个相同的证书。如果这个文件在经过签名程序后被篡改,就会有提示出现告诉用户不要安装。
  • 相关阅读:
    Vue.js中css的作用域
    vue搭建脚手架
    一对多,多对一关系映射
    java.time.format.DateTimeFormatter
    java.time.ZonedDateTime
    Akka(23): Stream:自定义流构件功能-Custom defined stream processing stages
    Akka(22): Stream:实时操控:动态管道连接-MergeHub,BroadcastHub and PartitionHub
    Akka(21): Stream:实时操控:人为中断-KillSwitch
    Akka(20): Stream:异步运算,压力缓冲-Async, batching backpressure and buffering
    Akka(19): Stream:组合数据流,组合共用-Graph modular composition
  • 原文地址:https://www.cnblogs.com/zjoch/p/3506608.html
Copyright © 2011-2022 走看看