前段时间写了个Windows平台的自动报时程序,由于未添加签名所以在启动时总是会被提示为不被信任的程序,所以给程序添加了一个数字签名,这里记录下操作步骤。

使用openssl生成一张自签证书

openssl genrsa -out alert.key 2048
openssl req -new -x509 -days 365 -key alert.key -out alert.crt
openssl pkcs12 -export -in alert.crt -inkey ca.key -out alert.pfx

通过以上命令生成一张名为 alert.pfx 的证书,在生成pfx文件时会要求你输入一些信息以及一个密码,改密码会在下面的签名过程中使用到。

下载微软的签名工具,地址:https://pan.baidu.com/s/1rBE2HDodwM4qa6gLX8RwNA,密码为 tnsb 。

把签名工具和之前生成的签名文件,以及生成的可执行文件放到同一个文件夹中,之后进行签名

signtool.exe sign /f alert.pfx /p 上一步中的密码 /t http

://timestamp.verisign.com/scripts/timstamp.dll TimeAlert.exe
Done Adding Additional Store
Successfully signed and timestamped: TimeAlert.exe

至此我们就成功的给一个Windows程序添加了数字签名。

参考:使用SignTool给*.dll或*.exe数字签名