程序数字签名教程 WIN10

发布于 22 天前  27 次阅读


引子



我们在windows操作系统中运行许多程序,通常需要对程序验证是否是真正的程序,而不是由不法分子伪造的木马程序,因此,数字签名的程序就此诞生了。

创建证书

windows的CMD终端自带了生成证书程序: makecert
详细参数请参考: "微软官网"

makecert /sv "私钥名.pvk" /n "CN=授予人名称,E=邮箱,O=组织名" -r 文件名.cer

savePath 为保存路径,YourCompany为组织名字

makecert -sv "Savepath/name.pvk" -n "CN=YourCompany,O=YourCompany" -r "Savepath/name.cer"

回车后会弹出设定密码的弹窗



如果输入的CN里面有“,”存在,请对逗号进行转义处理!

在本地信任证书

点击创建的cer文件,添加到根目录证书信任下。如下图所示即成功。

合并pvk与cer为pfx

由于微软已经放弃更新signCode程序,转而使用signTool程序,而signTool不支持PVK文件,因此我们需要将PVK转换到PFX文件。

借助windows自带的pvk2pfx.exe文件

pvk2pfx -pvk <Domain Name>.pvk -pi <Password> -spc <Domain Name>.cer -pfx <Domain Name>.pfx



使用SignTool进行程序签名

signtool.exe sign /f mycert.pfx /p <password> /t <timestamp URL> /v "<file to be signed>"

建议使用时间截服务器:http://timestamp.digicert.com


你知道雪为什么是白色的吗?因为她忘记了原来的颜色