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. 【Codeforces Round #406 (Div. 2)】题解

    The Monster 签到题,算一下b+=a和d+=c,然后卡一下次数就可以了. Not Afraid 只要一组出现一对相反数就是安全的. Berzerk 题意:[1,n],两个人轮流走,谁能走到1 ...

  2. 周记【距gdoi:133天】

    蔡大神坚持每天写日记记录他所剩的oi生涯. 可是我呢?自从搞完数据结构后都不知道在干什么,整天在傻叉.也许是给自己压力太大了,或许是真的自己在迷茫以及犹豫,更或者自己真的是想太多不想写题,觉得烦了,没 ...

  3. 三个月死磕Python是种什么样的体验?

    3个月的死磕Python后,参加「 楼+ Python实战 · 第4期 」的学员们感想如何?下面带来他们的真实评价. 作为实验楼的网红课程——「 楼+ Python实战 」已经走过了第四期,经过了三个 ...

  4. BZOJ4355:Play with sequence——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=4355 维护一个长度为N的序列a,现在有三种操作: 1)给出参数U,V,C,将a[U],a[U+1] ...

  5. webpack散记

    1. manifest manifest存储了webpack的chunk相关的信息.具体为一个对象,或者包含runtime的一段代码.其中包含着一个chunkId,已经对应chunkId的相关信息,例 ...

  6. GoLand安装配置

    目录 下载 安装 破解 运行 参考网址 GoLand配置 下载 1 下载路径:https://pan.baidu.com/s/1JJ-Oxx9NkEK-PrwcvLys7Q,提取码:o0e5 2 下载 ...

  7. dubbo在项目中的应用

    关于dubbo的使用,我们举个简单例子: 存在2个系统,A系统和B系统,A系统调用B系统的接口获取数据,用于查询用户列表. 在上一篇博文介绍了dubbo的创建,zookeeper的创建完成后,我们可以 ...

  8. bzoj 1142 [POI2009]Tab 最小表示

    [POI2009]Tab Time Limit: 40 Sec  Memory Limit: 162 MBSubmit: 373  Solved: 167[Submit][Status][Discus ...

  9. JSX 的基本语法规则

    JSX 的基本语法规则:遇到 HTML 标签(以 < 开头),就用 HTML 规则解析:遇到代码块(以 { 开头),就用 JavaScript 规则解析

  10. JAVA、android中常用的一些jar包的作用

    正文: 这里主要介绍的是hibernate使用到的.jar Hibernate一共包括了23个jar包,令人眼花缭乱.本文将详细讲解Hibernate每个jar包的作用,便于你在应用中根据自己的需要进 ...