我正在尝试在Inno Setup中自动执行代码签名过程。不幸的是,我们对.pfx和密码分发有一个相当严格的协议,项目中只有一个人可以访问它。
如果所有安装都是在那台人员机器上编译的话,这本身就不是问题。可以在IDE中设置SignTool,密码在用户PC上保持安全。但是,我们使用共享机器来编译我们的构建,因此我们无法设置SignTool,因为我们无法保留密码以便于访问。这有多种原因,不能改变。
我想做的是在编译完成后让Inno弹出一个“输入.pfx密码”对话框。
目前,我的想法是让Inno设置为请求身份验证,我不知道该怎么做,或编写一个编译设置的小脚本,并在Inno设置之外签名。后来我可以相对容易地做,但由于我们的工作流程的性质,如果可以利用Inno设置,那将全面更好。
有人可以帮助我让Inno Setup为.pfx文件请求SignTool密码吗?
答案 0 :(得分:2)
如果密钥持有者没有自动签名的构建而不是他的实际许可,那么你可以在他的机器上设置某种服务器程序进行签名,并在Inno中更改命令以交付构建通过网络关闭该程序而不是直接调用signtool。这样只有他的机器才能知道密码和/或拥有私钥。
或者,只需放弃签署版本,直到他们通过质量保证并实际发布给客户。移除SignTool
设置并将其替换为SignedUninstaller
设置。
如果在没有SignedUninstaller
的情况下使用SignTool
,则需要密钥持有者手动签署卸载文件一次,然后可以从共享位置重复使用,而无需进一步重新签名(直到升级Inno,此时你需要再做一次)。正在构建的脚本将具有签名卸载但未签名的输出安装程序。然后,您可以将其传递给QA,并在密钥持有人可用时稍后手动签名(如果QA失败则将其丢弃)。