windows下发布安装程序签名_signTool.exe工具使用

问题描述: Qt自制了一款exe安装包,放在互联网上供别人下载,但下载后运行,提示:

经查安装包需要进行数字签名。

数字证书的目的就是防止软件被篡改,表明软件的签发日期。对于我们来说最重要的防止被当病毒查杀。所以这就需要受信任的机构颁发的证书。

主要使用的工具:signTool.exe,命令行运行,但不能cmd,需要“VS开发人员命令提示”,且以管理员运行。

步骤:

1、创建 X.509 证书

工具:Makecert.exe(证书创建工具)

证书创建工具生成仅用于测试目的的 X.509 证书。
它创建用于数字签名的公钥和私钥对,并将其存储在证书文件中。
此工具还将密钥对与指定发行者的名称相关联,并创建一个 X.509 证书,该证书将用户指定的名称绑定到密钥对的公共部分。

使用这个命令行创建证书:

Makecert -sv abc.pvk -r -n “CN=XXX公司” abc.cer

-sv abc.pvk创建一个密钥文件,来保存私钥,创建时需要输入一个密码。

2、创建发行者证书

工具:Cert2spc.exe(软件发行者证书测试工具)的介绍:

发行者证书测试工具通过一个或多个 X.509 证书创建发行者证书 (SPC)。
Cert2spc.exe 仅用于测试目的。
可以从证书颁发机构(如 VeriSign 或 Thawte)获得有效的 SPC。

使用下面的命令行创建发行者证书:

Cert2spc abc.cer abc.spc

3.导出pfx证书文件

使用pvk2pfx.exe工具从pvk文件中导出pfx文件:

pvk2pfx -pvk abc.pvk -pi mypassword -spc abc.spc -pfx abc.pfx -f

把"mypassword "密码替换为第二步时输入的密码

4.对自己的软件签名

使用signtool.exe进行签名,MSDN对SignTool.exe(签名工具)的介绍:

签名工具是一个命令行工具,用于对文件进行数字签名,验证文件和时间戳文件中的签名。

如果要对abc.exe进行签名:

signtool sign /f abc.pfx /p mypassword abc.exe

把其中的密码替换为自己的密码。

5.对自己的软件加盖时间戳

可以使用WoSign提供的时间戳服务:http://timestamp.wosign.com/timestamp

signtool timestamp /t http://timestamp.verisign.com/scripts/timstamp.dll abc.exe

 

///

实操:

C:\Users\lc\Desktop\Output\1111>Makecert -sv test.pvk -r -n "CN=lc" test.cer
Succeeded

C:\Users\lc\Desktop\Output\1111>Cert2spc test.cer test.spc
Succeeded

C:\Users\lc\Desktop\Output\1111>pvk2pfx -pvk test.pvk -pi 1234 -spc test.spc -pfx test.pfx -f

C:\Users\lc\Desktop\Output\1111>signtool sign /f test.pfx /p 1234 IosMobileRecovery.exe
Done Adding Additional Store
Successfully signed: IosMobileRecovery.exe

C:\Users\lc\Desktop\Output\1111>signtool timestamp /t http://timestamp.verisign.com/scripts/timstamp.dll IosMobileRecovery.exe
Successfully timestamped: IosMobileRecovery.exe

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值