我刚刚从Comodo购买了代码签名证书.我已经构建了一个小型MS Access数据库,我想用Inno Setup Installer进行部署.脚本运行正常但我对代码签名完全不熟悉.
如何签署我的安装文件?我是否需要外部软件来签署证书,或者我可以在Inno Setup中进行此操作吗?
我试图寻找类似问题的答案,但没有人能够告诉我我需要什么才能开始,以及如何去做.
你做的很简单,试着跟随allong
打开Inno Setup并选择Tools-> Configure Sign Tools
单击"添加.."并给它命名,让我们称之为MsSign,因为我使用的是Microsoft的 signtool.exe ,你现在应该有这样的东西
然后,系统会要求您提供用于签名的工具的命令行,因为我使用的是signtool.exe
signtool.exe sign/tr http://timestamp.digicert.com/td sha256/fd sha256/a $ p
注意最后的$ p,Inno Setup需要这个...你现在应该有这个,并注意我已经在我的路径变量中添加了signtool.exe的路径,并且我正在使用DigiCert的时间服务器为我设置时间戳签名.
在脚本中,您现在将以下代码添加到设置段
SignTool = MsSign $ f
这一行,告诉编译器使用代码签名,它将使用我称为MsSign的变量,并将对安装程序生成的输出进行签名.
它看起来应该是这样的
当您查看生成的EXE时,您将看到数字签名
现在这对我有用,因为我已经准备好我的签名存储,命令行可以获得签名,我只有一个代码签名,所以我不需要命名,你的参数可能与我的不同,只要最后,您的设置有效,您的代码也会被签名,这没关系.
希望有帮助并记住你需要变量中的$ p
要签署可执行文件(由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证书,但没关系.)