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 "本次签名的描述" "被签名的程序的全路径"

时间: 2024-08-30 17:54:08

makecert 制作数字证书的相关文章

makecert 制作数字证书 给DLL加一个数字签名

声明:文章整理自互联网 我仅需要给dll添加(替换)一个签名,所以我只看了第一步和第三步,其余的部分我没有测试,不能保证内容的是否正确. 看了很多关于DLL加签名的教程 大多是错误的 完全无法正常走下去,所以整理了这个文章,仅为了方便自己下次需要这个功能的时候不用再折腾,本文内容大多抄自 makecert 制作数字证书 在MS的SDK中有个证书生成工具makecert.exe,可以使用这个工具来生成测试用的证书 第一步,生成一个自签名的根证书(issuer,签发者). makecert -n "

数字证书原理【转】

转自http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用.接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书.如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出! 1.基础知识 这部分内容主要解释一些概念和术语,最好是先

数字证书原理

文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用.接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书.如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出! 1.基础知识 这部分内容主要解释一些概念和术语,最好是先理解这部分内容. 1.1.公钥密码体制(public-key cryptography) 公钥密码体制分为三个部分,公钥.私钥.加密解密

转: 数字证书原理 https 完整过程解析

点评: 讲的非常的详细与全面,值得一看. 转: http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用.接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书.如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出! 1.基础知识

数字证书原理——转(知识分享)

此文描述得非常清晰.顾不得不转载过来细细品读..也分享下 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用.接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书.如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出! 1.基础知识 这部分内容主要解释一些概念和术语,最好是先理解这部分内容. 1.1.公钥密码体制(public-key cryptogr

数字证书原理(转)

原文地址:http://blog.csdn.net/zhulinfeiba/article/details/5957028 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用.接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书.如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出! 1.基础知识 这部分内容主要解释一些概念和术语,最好是先理解这部分内

【转】数字证书原理

原文:http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html ,如需转载,请咨询原文作者~! 文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用.接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书.如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出! 1.基础知识     

数字证书原理 - 转自 http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.html

文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用.接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书.如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出! 1.基础知识 这部分内容主要解释一些概念和术语,最好是先理解这部分内容. 1.1.公钥密码体制(public-key cryptography) 公钥密码体制分为三个部分,公钥.私钥.加密解密

JAVA数字证书制作生成

1.加密算法 为了网络通讯中的报文安全,一般需要对报文进行加密,目前常用的加密算法有: 非对称加密算法:又称公钥加密算法,如RSA.DSA/DSS,最常用的就是RSA算法(算法公开,可自行百度了解算法细节),算法产生一个公钥一个私钥,用公钥加密的报 文只能用私钥解密,用私钥加密的报文只能用公钥解密: 对称加密算法:3DES.AES.RC4,加密密钥与解密密钥相同,一般用于只有通讯双方知道密钥的通讯方式: HASH算法:MD5.SHA1.SHA256,由哈希算法计划得到哈希值,加密过程不可逆,由哈