一直都是使用现成的签名脚本去给文件做签名,突然自己想尝试下。于是在网上找了帖子。后面贴上。
- 废话不多说,直接上命令
D:\signtoodemo>Makecert -sv test.pvk -r -n "CN=siyecao" test.cer
Succeeded
D:\signtoodemo>Cert2spc test.cer test.spc
Succeeded
D:\signtoodemo>pvk2pfx -pvk test.pvk -pi 12341234 -spc test.spc -pfx test.pfx -f
D:\signtoodemo>signtool sign /f test.pfx /p 12341234 demo.exe
Done Adding Additional Store
Successfully signed: demo.exe
D:\signtoodemo>signtool timestamp /t http://timestamp.wosign.com/timestamp demo.exe
Successfully timestamped: demo.exe
- 注意点
执行这些命令时,不要直接在系统自带cmd上去执行,因为这些命令工具所在的目录并没有添加到Path中;
所以需要使用vs开发人员命令提示符工具去执行,如:
VS 2017的开发人员命令提示符
下面是上述命令行执行的结果:
签名效果
上图可以看出,新的签名会覆盖旧的签名。
附录
signtool对EXE进行签名:signtool工具使用参考贴。
SignTool.exe(签名工具):微软官方的使用说明文档。
网友评论