我刚从Comodo购买了代码签名证书。我已经构建了一个小型MS Access数据库,我想用Inno Setup Installer进行部署。脚本运行正常,但我对代码签名完全不熟悉。
如何签署安装文件?我是否需要外部软件来签署证书,或者我可以从Inno Setup中进行此操作吗?
我试图搜索类似问题的答案,但没有人能够告诉我我需要什么才能开始,以及如何去做。
答案 0 :(得分:14)
要签署可执行文件(由Inno Setup生成的安装程序),只需创建一个批处理文件(.bat)并将此内容放入其中:
"c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe" sign /f Installer_Wizard_Code_Signing_Certificate.pfx /p password123 /t http://timestamp.verisign.com/scripts/timstamp.dll MySetupFile.exe
其中
“c:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Bin \ signtool.exe”是Microsoft签名实用程序(Microsoft SDK的一部分)的路径
Installer_Wizard_Code_Signing_Certificate.pfx 是您的证书
password123 是证书的密码
MySetupFile.exe 是您要签名的设置文件
将所有文件放在一个目录(证书,设置以签名和批处理文件)中并运行批处理文件。 Signtool使用证书对文件进行签名,并检查对官方服务器的有效性。
(你可以使用 http://timestamp.verisign.com/scripts/timstamp.dll 服务器,虽然你有Comodo证书,但没关系。)
答案 1 :(得分:14)
你做的很简单,试着跟随allong
signtool.exe sign / tr http://timestamp.digicert.com / td sha256 / fd sha256 / a $ p
最后注意 $ p ,Inno Setup需要这个...... 你现在应该有这个,并注意我已经在我的路径变量中添加了signtool.exe的路径,并且我正在使用DigiCert的时间服务器为我的签名添加时间戳。
答案 2 :(得分:0)
一旦您从Microsoft下载并安装了signtool.exe
,如果在上一个答案的第三步中未将signtool.exe
的完整路径添加到签名工具的命令中,则将其放入签名工具的命令中:
D:\GUI\signtool.exe sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /a $p