makecert 制作数字证书
在MS的SDK6.0中有个证书生成工具makecert.exe, 你可以使用这个工具来生成测试用的证书。
第一步,生成一个自签名的根证书(issuer,签发者)。
>makecert -n "CN=Root" -r -sv RootIssuer.pvk RootIssuer.cer
这个时候,会弹出提示框,首先给RootIssuer.pvk文件设置私钥保护口令;

然后,再次输入这个口令用私钥(在RootIssuer.pvk文件中)来给公钥(在RootIssuer.cer文件中)签名(自签名)。

第二步,使用这个证书签发一个子证书(使用者,subject)。
>makecert -n "CN=Child" -iv RootIssuer.pvk -ic RootIssuer.cer -sv ChildSubject.pvk ChildSubject.cer
此时,会弹出提示框先给这个子证书的私钥文件ChildSubject.pvk设置保护口令;

然后,输入这个子证书的私钥(在ChildSubject.pvk中)口令来获取子证书的公钥(在ChildSubject.cer中)。
(pvk里面一般存储rsa算法结构,可以分别获取公钥和私钥)

接下来会提示输入根证书私钥(在RootIssuer.pvk中)口令来签发子证书(公钥和用户信息)。

如果你还要签发更多的子证书,类似的,使用这个证书来签发再下层的证书,前提是ChildSubject证书也可以用于签发(作为Issuer)用途。
备注:
(1)如果你需要一个交互证书,用于安全通信,那么,加入选项 -sky exchange;
(2)如果你需要一个签名证书来签发证书或者二进制文件,那么,加入选项 -sky signature.
(3)如果你需要一个客户端证书来标志你的身份,或者个人信息保护(电子邮件),那么,选项-n 中的E字段是不可缺少的。
举例:-n "CN=公司名称, E=E-MAIL地址, O=组织名称, OU=组织单位, C=国家, S=省份(州), P=县城"
(4)如果使用openssl的小工具来生成证书可以参考
http://blog.csdn.net/hacode/article/details/43834825
其他辅助工具:
1)公钥证书格式转换成SPC。 cert2spc.exe
>cert2spc TestRoot.cer TestRoot.spc
.spc 意思是 软件发布者证书(Software Pulisher Cerificate).
2)将公钥证书和私钥合并成一个PFX格式的证书文件。pvk2pfx.exe
>pvk2pfx -pvk TestRoot.pvk -spc TestRoot.spc -pfx TestRoot.pfx
输入TestRoot.pvk的保护口令来合并.pvk和.spc文件,如果你不设置即将合并出来的TestRoot.pfx的保护口令的话,这个保护口令和输入文件TestRoot.pvk的保护口令一样。(备注:直接从cer文件也可以,不一定要得到SPC文件).
3)签名工具。signtool.exe
二进制文件数字签名.为了保证二进制文件的完整性,数字签名是一个好的方法。
以下命令启动一个有图形界面的文件签名工具向导:
>signtool wizard
以下是命令行方式的签名:
>signtool sign /f "pfx文件的全路径" /p "pfx文件的保护口令" /t "http://timestamp.verisign.com/scripts/timstamp.dll" /d "本次签名的描述" "被签名的程序的全路径"
makecert 制作数字证书的更多相关文章
- makecert 制作数字证书 给DLL加一个数字签名
声明:文章整理自互联网 我仅需要给dll添加(替换)一个签名,所以我只看了第一步和第三步,其余的部分我没有测试,不能保证内容的是否正确. 看了很多关于DLL加签名的教程 大多是错误的 完全无法正常走下 ...
- highestAvailable比较灵活,毕竟大多数功能不需要系统最高权限(四种方法:屏蔽UAC,右键以管理员身份运行,增加manisfest,制作数字证书)
打开VS2005.VS2008.VS2010工程,查看工程文件夹中的Properties文件夹下是否有app.manifest这个文件:如没有,按如下方式创建:鼠标右击工程在菜单中选择“属性”,点击工 ...
- 转: 数字证书原理 https 完整过程解析
点评: 讲的非常的详细与全面,值得一看. 转: http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html 文中首先解释了加密解 ...
- [区块链|非对称加密] 对数字证书(CA认证)原理的回顾
摘要:文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用.接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的 ...
- 数字证书原理(ssl,https)
文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用.接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理, ...
- 公钥与私钥对HTTPS的理解(数字证书的需要)
本文转自某大牛链接 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用.接着对数字证书做一个详细的解释,并讨论一下window ...
- 数字证书原理 good
文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用.接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理, ...
- 利用keytool工具生成数字证书
一.制作数字证书 因测试微信小程序, 腾讯要求使用 https协议,所以需要使用证书.使用jdk工具制作数字证书流程如下: 1.查看JDK是否安装,使用命令java -version 2.切换目录至 ...
- JAVA数字证书制作生成
1.加密算法 为了网络通讯中的报文安全,一般需要对报文进行加密,目前常用的加密算法有: 非对称加密算法:又称公钥加密算法,如RSA.DSA/DSS,最常用的就是RSA算法(算法公开,可自行百度了解算法 ...
随机推荐
- Hotel
poj3667:http://poj.org/problem?id=3667 题目大意:Hotel有N(1 ≤ N ≤ 50,000)间rooms,并且所有的rooms都是连续排列在同一边,group ...
- 详解Spring中的CharacterEncodingFilter
在项目中有很多让人头疼的问题,其中,编码问题位列其一,那么在Spring框架中是如何解决从页面传来的字符串的编码问题的呢?下面我们来看看Spring框架给我们提供过滤器CharacterEncodin ...
- 【HDOJ】2144 Evolution
并查集+DP. /* 2144 */ #include <cstdio> #include <cstring> #include <cstdlib> #define ...
- java学习之数组(二)
在上一节中我们讲到了数组的概念,定义,以及在内存当中的表现形式.那么这里我们来说一下,数组的另一种定义方式. 在上一篇当中我们规定是这个样子定义数组的, class ArrDemo { public ...
- The Same Game(模拟)
http://poj.org/problem?id=1027 题意:给一个10*15的地图,里面填充R,G,B三种颜色,每次找到当前地图的同色最大区域M,并将其删除,删除M后,上面的小球自然下落,当有 ...
- WordPress Pie Register插件‘wp-login.php’多个跨站脚本漏洞
漏洞名称: WordPress Pie Register插件‘wp-login.php’多个跨站脚本漏洞 CNNVD编号: CNNVD-201307-255 发布时间: 2013-07-31 更新时间 ...
- C语言赋值运算符
赋值运算符: 分类: 简单赋值 int a ; a=10; 复合运算符 int a ; a+=4; 复合位运算符 int a; a&=1:
- hdu 1175 连连看 DFS
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1175 解题思路:从出发点开始DFS.出发点与终点中间只能通过0相连,或者直接相连,判断能否找出这样的路 ...
- 【背包型动态规划】灵魂分流药剂(soultap) 解题报告
问题来源 BYVoid魔兽世界模拟赛 [问题描述] 皇家炼金师赫布瑞姆刚刚发明了一种用来折磨一切生物的新产品,灵魂分流药剂.灵魂分流药剂的妙处在于能够给服用者带来巨大的痛苦,但是却不会让服用者死去,而 ...
- C基本语句测试