2

我正在尝试在 Inno Setup 中自动化我们的代码签名过程。不幸的是,我们对 .pfx 和密码分发有一个相当严格的协议,并且只有项目中的一个人可以访问它。

如果所有安装都是在那个人的机器上编译的,这本身就不是问题。SignTool 可以在 IDE 中设置,并且密码将在用户 PC 上保持安全。但是,我们使用共享机器来编译我们的构建,因此我们无法设置 SignTool,因为我们不能让该密码如此容易访问。这有多种原因,无法更改。

我想做的是在编译完成后让 Inno 弹出一个“输入 .pfx 密码”对话框。

目前,我的想法是让 Inno 设置请求身份验证,我不知道该怎么做,或者编写一个小脚本来编译设置,并在 Inno 设置之外对其进行签名。后者我可以相对轻松地完成,但由于我们工作流程的性质,如果可以利用 Inno 设置来实现这一点,那就更好了。

任何人都可以帮助我让 Inno Setup 请求 .pfx 文件的 SignTool 密码吗?

4

1 回答 1

2

如果密钥持有者同意构建自动签名而不是他的实际许可,那么您可以在他的机器上设置某种服务器程序来进行签名,并更改 Inno 中的命令以将构建交给那个通过您的网络编程,而不是直接调用signtool。这样只有他的机器会知道密码和/或拥有私钥。

或者,在它们通过 QA 并实际发布给客户之前,放弃对构建进行签名。删除SignTool设置并将其替换为SignedUninstaller设置。

如果SignedUninstaller不使用SignTool,它将要求密钥持有者手动签署卸载文件一次,然后可以从共享位置重复使用而无需进一步辞职(直到您升级 Inno,此时您需要再次执行此操作)。正在构建的脚本将具有已签名的卸载但未签名的输出安装程序。然后,您可以将其传递给 QA 并稍后在密钥持有者可用时手动签名(如果 QA 失败,则将其丢弃)。

于 2013-06-21T23:36:25.133 回答