Inno setup InnoSetup-代码签名证书

Inno setup InnoSetup-代码签名证书,inno-setup,code-signing-certificate,Inno Setup,Code Signing Certificate,我刚从Comodo购买了一个代码签名证书。我已经建立了一个小的MS Access数据库,我想用Inno安装程序部署它。脚本运行良好,但我对代码签名完全陌生 如何对安装文件进行签名?我是否需要外部软件来签署证书,或者我可以在Inno安装程序中进行签名 我曾尝试搜索类似问题的答案,但没有人能告诉我需要什么以及如何开始。要签署可执行文件(由Inno Setup生成的安装程序),只需创建一个批处理文件(.bat)并将此内容放入其中: "c:\Program Files (x86)\Microsoft S

我刚从Comodo购买了一个代码签名证书。我已经建立了一个小的MS Access数据库,我想用Inno安装程序部署它。脚本运行良好,但我对代码签名完全陌生

如何对安装文件进行签名?我是否需要外部软件来签署证书,或者我可以在Inno安装程序中进行签名

我曾尝试搜索类似问题的答案,但没有人能告诉我需要什么以及如何开始。要签署可执行文件(由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 SDK\Windows\v7.0A\Bin\signtool.exe”是指向Microsoft签名实用程序(Microsoft SDK的一部分)的路径

安装程序向导\u代码\u签名\u证书。pfx是您的证书

password123是您的证书的密码

MySetupFile.exe是您要签名的安装文件

将所有文件放在一个目录(证书、要签名的设置和批处理文件)中,然后运行批处理文件。 Signtool使用证书对文件进行签名,并根据官方服务器检查有效性


(虽然您有Comodo证书,但您可以使用服务器,这并不重要。)

您所做的非常简单,请尝试并遵循以下步骤

  • 打开Inno设置并选择工具->配置签名工具
  • 单击“添加…”并为其命名,我们将其命名为MsSign,因为我使用的是来自的signtool.exe,您现在应该有类似的名称
  • 然后会要求您输入用于签名的工具的命令行,因为我使用的是signtool.exe
  • signtool.exe sign/tr/td sha256/fd sha256/澳元/便士

    请注意,$p结尾,Inno安装程序需要此。。。 您现在应该有了这个,注意我已经在我的路径变量中添加了signtool.exe的路径,并且我正在使用DigiCert的时间服务器对我的签名进行时间戳

  • 在脚本中,现在将以下代码添加到设置段

    SignTool=MsSign$f

  • 这一行告诉编译器使用代码签名,它将使用我调用的变量MsSign,并对安装程序生成的输出进行签名

    应该是这样的

    当您查看生成的EXE时,您将看到数字签名

    现在这对我来说很有用,因为我已经准备好了签名存储,这样命令行就可以获得签名,我只有一个代码签名签名,所以我不需要命名它,您的参数可能与我的不同,这没关系,只要最后,您的安装工作正常,代码得到签名


    希望能够提供帮助并记住您需要变量中的$p

    一旦您从Microsoft下载并安装
    signtool.exe
    ,如果在上一个答案的第三步没有将
    signtool.exe
    的完整路径添加到sign tool的命令中:

    D:\GUI\signtool.exe sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /a $p
    

    您为什么不建议对Inno安装程序提供内部签名支持?这是第三次,这是一个教程,介绍了如何做到这一点。这是科摩多的经销商发来的,所以他们应该知道他们在说什么。@TLama你的回答解决了我的问题。我按照说明进行了编译,没有任何错误。感谢所有人和Ksign背后的人……这让一切变得如此简单。@TLama提到的链接已经改变:我的教程是独立的,不需要任何第三方软件。(我尝试了TLama的教程,但对我不起作用,所以我编写了自定义解决方案)。@TLama链接已失效(~blog~)此功能有效:signtool随windows驱动程序安装而来,请参阅第2点上的链接,安装后,您可以将位置添加到配置文件路径设置中,然后登录,您应该可以调用它,否则,请将路径放入步骤3set path=“C:\Program Files(x86)\Windows Kits\10\bin\x64”;%路径%是为我做的!Thxy您实际上不需要将signtool.exe添加到路径。由于它是一个很小的可执行文件(410 KB),没有依赖项,因此您可以选择将它复制到构建环境中需要它的任何位置,并且它的工作方式与从Windows上安装它的位置运行它一样好。