分享

命令行下进行数字签名

 tianht 2016-03-15

网上介绍数字签名的文章,大多使用signtool的signwizard命令实现,这种方式虽说简单,却需要人为干预,不能自动执行。msdn上说signtool的sign命令可以在命令行中完成签名,但描述的相当模糊,试了半天,终于找到了它的使用方法,一共执行四条命令即可,前三条一次性执行,最后生成一个个人证书(pfx),最后一条用于实际签名,可以放在post build event中去自动执行。

1. makecert生成x.509证书和私钥, 会弹出界面要求输入两次密码, 我输的是123, 其中localvar studio是公司名 
makecert /sv sign.pvk /n "CN=localvar studio" sign.cer

2. 把x.509证书转换为Software Publisher Certificate 
cert2spc sign.cer sign.spc

3. 把pvk转换为pfx, 例子中的123是私钥密码 
pvk2pfx -pvk sign.pvk -pi 123 -spc sign.spc -pfx sign.pfx

4. 签名, 稍微调整一下,就能写在post build event里了,123是密码 
signtool sign /f sign.pfx /p 123 test.exe

上面的例子只是演示签名过程,由于证书是本机做出来的,所以签了名也没用,用户那看到的仍然是“未知发行商”。向证书颁发机构申请真正的证书时,能直接得到.spc和.pvk文件,所以就不用执行前两步了。

http://blog.csdn.net/localvar/article/details/3647960

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多