1.创建Install.inf文件和run.bat

Install.inf:

[version]

signature="$CHICAGO$"

AdvancedINF=2.0 

[Setup Hooks]

HOOKRUN1=HOOKRUN1

[Deployment]

InstallScope=user

[HOOKRUN1]

run=%EXTRACT_DIR%\run.bat

run.bat:

set CURDIR=%cd%

msiexec.exe /i "%CURDIR%\ActiveXDemo.Setup.msi" /qn

2.创建cab文件(下载cabsdk.exe,加压之后需要其中的cabarc.exe---打包)

F:\Projects\ActiveXDemo\CABARC.EXE N 
F:\Projects\ActiveXDemo\ActiveXDemo.cab
F:\Projects\ActiveXDemo\ActiveXDemo.Setup.msi
F:\Projects\ActiveXDemo\Install.inf F:\Projects\ActiveXDemo\run.bat

注释:将canarc.exe、ActiveXDemo.Setup.ms、Install.inf和run.bat保存到同一目录,进入cmd执行上面的命令,将ctiveXDemo.Setup.ms、Install.inf和run.bat打包成ActiveXDemo.cab文件

3.在网上下载signtool.rar并解压,进入DOS系统,通过cd命令进入到解压后的文件夹下面(“cd %path%\signtool\”),并将刚才生成的ActiveXDemo.cab拷贝到当前m目录下

4.创建证书文件

进入到上面的目录后,输入以下命令:

makecert -sv ActiveXDemo.pvk -r -n "CN=SunStar" ActiveXDemo.cer

利用MakeCert生成一个 证书.cer和一个私钥.pvk,同时创建私钥和公钥

5.转换证书

cert2spc ActiveXDemo.cer  ActiveXDemo.spc

用Cert2Spc将.cer文件转换成为PKCS #7软件发布Certificate(.spc文件)

6.创建另外一个自签名证书,叫test.cer

makecert -sv test.pvk -r -n "CN=SunStar" test.cer

cert2spc test.cer test.spc

7.从test.cer创建test.ctl文件

makectl test.cer test.ctl

8. 用ActiveXDemo.pvk和ActiveXDemo.spc这两个文件给test.ctl作数字签名

signcode -v ActiveXDemo.pvk -spc ActiveXDemo.spc test.ctl

9. 把test.ctl移动到受信系统存储区(管理证书)

certmgr -add -ctl test.ctl -s trust 

10. 把ActiveXDemo.cer移动到根系统存储区

certmgr -add -c ActiveXDemo.cer -s root    

11. 用test.pvk和test.spc给ActiveXDemo.cab作数字签名(将证书部署到.cab)

singcode -v test.pvk -spc test.spc  ActiveXDemo.cab

12. 检查文件是否通过验证(检查部署证书后的.cab是否正确)

chktrust ActiveXDemo.cab

13.如果文件通过了数字签名检测,系统会询问是否安装这个文件,这时候一定要选择安装,整个签名过程才能完成。

(8-11类似于图形化的运行signcode.exe进行数字签名向导)

数字签名(以ActiveXDemo为例)的更多相关文章

  1. 公钥、私钥、CA认证、数字签名、U盾

    感谢传智播客的方立勋老师,在一个教学视频上,他巧妙地以蒋介石给宋美龄写密信作为例子,生动地讲述了软件密码学知识. 加密分为对称加密和非对称加密,我们传统理解的,发送数据之前使用一个加密器加密,接到数据 ...

  2. Microsoft.Net中数字签名技术

    概 述:本文以Microsoft.Net中创建签名的CAB文件为例,说明如何创建签名文件,从而使你的代码能够安全的在INTERNET上公布.希望能起到抛转引玉的作用. keyword:数字签名,Act ...

  3. JAVA 上加密算法的实现用例---转载

    通常 , 使用的加密算法 比较简便高效 , 密钥简短,加解密速度快,破译极其困难.本文介绍了 MD5/SHA1,DSA,DESede/DES,Diffie-Hellman 的使用. 第 1 章基础知识 ...

  4. 浅谈IM软件业务知识——非对称加密,RSA算法,数字签名,公钥,私钥

    概述 首先了解一下相关概念:RSA算法:1977年由Ron Rivest.Adi Shamirh和LenAdleman发明的.RSA就是取自他们三个人的名字. 算法基于一个数论:将两个大素数相乘很ea ...

  5. 微信JS-SDK“分享信息设置”API及数字签名生成方法(NodeJS版本)

    原文:微信JS-SDK"分享信息设置"API及数字签名生成方法(NodeJS版本) 先上测试地址以示成功: 用微信打开下面地址测试 http://game.4gshu.com/de ...

  6. 为通过ClickOnce部署的应用程序进行数字签名

    为通过ClickOnce部署的应用程序进行数字签名 ClickOnce是.NET用于Windows应用程序的一种便捷部署方式.不过由于便捷,导致缺少自定义操作的空间.比如需要对通过ClickOnce部 ...

  7. Google研究人员宣布完成全球首例SHA-1哈希碰撞!

    2004年的国际密码讨论年会(CRYPTO)尾声,我国密码学家王小云及其研究同事展示了MD5.SHA-0及其他相关杂凑函数的杂凑碰撞并给出了实例.时隔13年之后,来自Google的研究人员宣布完成第一 ...

  8. 【传输协议】TCP、IP协议族之数字签名与HTTPS详解

    文章转载出自:https://blog.51cto.com/11883699/2160032 安全的获取公钥 细心的人可能已经注意到了如果使用非对称加密算法,我们的客户端A,B需要一开始就持有公钥,要 ...

  9. 以e2e_cli为例漫谈fabric的一些基础知识点

    在刚接触fabric的时候一般都是直接跟着wiki的教程一步步安装配置,执行一系列命令,最终将其运行起来,但很多人对其中的运行流程及其基础知识点可能不是很了解.基于此今天我将以$FABRIC_ROOT ...

随机推荐

  1. [NOI.AC省选模拟赛3.31] 星辰大海 [半平面交]

    题面 传送门 思路 懒得解释了......也是比较简单的结论 但是自己看到几何就退缩了...... 下周之内写一个计算几何的学习笔记! Code #include<iostream> #i ...

  2. [AHOI2009]中国象棋 DP,递推,组合数

    DP,递推,组合数 其实相当于就是一个递推推式子,然后要用到一点组合数的知识 一道很妙的题,因为不能互相攻击,所以任意行列不能有超过两个炮 首先令f[i][j][k]代表前i行,有j列为一个炮,有k列 ...

  3. POJ1389:Area of Simple Polygons——扫描线线段树题解+全套代码注释

    http://poj.org/problem?id=1389 题面描述在二维xy平面中有N,1 <= N <= 1,000个矩形.矩形的四边是水平或垂直线段.矩形由左下角和右上角的点定义. ...

  4. BZOJ4144 [AMPPZ2014]Petrol 【最短路 + 最小生成树】

    题目链接 BZOJ4144 题解 这题好妙啊,,orz 假设我们在一个非加油站点,那么我们一定是从加油站过来的,我们剩余的油至少要减去这段距离 如果我们在一个非加油站点,如果我们到达不了任意加油站点, ...

  5. 继续bzoj

    我应该可以打卡下班了,回来继续bzoj

  6. TYVJ2032 升降梯上

    Description: 开启了升降梯的动力之后,探险队员们进入了升降梯运行的那条竖直的隧道,映入眼帘的是一条直通塔顶的轨道.一辆停在轨道底部的电梯.和电梯内一杆控制电梯升降的巨大手柄.Nescafe ...

  7. Android源码4.4.4_r1下载和编译

    系统:ubuntu 16.04.2 TLS 1.源码下载: sudo apt-get install curl curl https://storage.googleapis.com/git-repo ...

  8. php 获取周几

    date("l"); //date就可以获取英文的星期比如Sunday date("w"); //这个可以获取数字星期比如123,注意0是星期日 获取中文星期几 ...

  9. PowerDesigner逆向生成

    人越长大话越少,我们不再说今天受了委屈,不再说谁谁谁不理我了我好难过,不再分享生活中的琐事. 我知道人和人之间没法互相理解,大家都很忙,针也没扎在别人身上. 所以把那些还没说出口的话消化在每一步走过的 ...

  10. js的数据类型--字符串

    js的数据类型——字符串 这篇我们来说说js的第二种数据类型——字符串. js的内置功能之一就是字符串拼接.如果将加号(+)运算符用于数字,表示两数相加.但将它作用于字符串,则表示字符串拼接,将第二个 ...