一站式IT解决方案提供商
网站开发 ● 移动开发 ● 桌面开发 ● 技术服务
makecert 制作和应用数字签名证书
需要准备的工具:makecert.exe、signtool.exe。
生成一个自签名的根证书
makecert -n "CN=ROOT" -r -sv RootIssuer.pvk RootIssuer.cer
签发子证书
makecert -n "CN=Child" -iv RootIssuer.pvk -ic RootIssuer.cer -sv ChildSubject.pvk ChildSubject.cer
(1)如果你需要一个交互证书,用于安全通信,那么,加入选项 -sky exchange;
(2)如果你需要一个签名证书来签发证书或者二进制文件,那么,加入选项 -sky signature.
(3)如果你需要一个客户端证书来标志你的身份,或者个人信息保护(电子邮件),那么,选项-n 中的E字段是不可缺少的。
举例:-n "CN=公司名称, E=E-MAIL地址"
部分参数解释:
-r: 自签名。
-pe: 将所生成的私钥标记为可导出。这样可将私钥包括在证书中。
-n "cn=MyCA": 证书的subject name
-$ commercial:指明证书商业使用
-a:指定签名算法。必须是 md5(默认值)或 sha1。
-b 01/01/2020:证书有效期的开始时间。
-e 01/01/2050:指定有效期的结束时间。
-ss my:证书产生到my个人store区。
-sr currentuser:保持到计算机当前个人用户区,其他用户登录系统后则看不到该证书。
-sv 证书名.pvk 证书名.cer, 保存到当前目录。
其他辅助工具
公钥证书格式转换成SPC。cert2spc.exe
cert2spc TestRoot.cer TestRoot.spc
.spc 意思是 软件发布者证书(Software Pulisher Cerificate)
公钥证书和私钥合并成一个PFX格式的证书文件。pvk2pfx.exe
pvk2pfx -pvk TestRoot.pvk -spc TestRoot.spc -pfx TestRoot.pfx
签名工具 signtool
signtool sign /f "pfx文件的全路径" /p "pfx文件的保护口令" /t "http://timestamp.digicert.com" /d "本次签名的描述" "被签名的程序的全路径"