如何自动签署代码而不在任何操作系统上安装任何内容

问题描述 投票:0回答:2

我们已经设置了一个使用Microsoft的SIGNTOOL手动签署代码的过程。我们使用NSIS生成安装包,现在是时候开始自动执行代码签名过程以及部分NSIS脚本了。

我们不使用Windows SDK进行开发,因此不希望对我们的开发人员提出要求。我们在Mac和Linux上也有一些人;任何人都可以制作安装程序,安装程序制造商将会自动签署代码。我们正在使用PFX文件对代码进行签名。

所以基本上我想弄清楚,“我怎么能在没有安装任何东西的情况下签署代码,除了一个小文件,这样它就适用于所有三个主要操作系统”。处理NSIS自动化,但不使用任何操作系统的Windows SDK进行自动化。

winapi certificate nsis code-signing signtool
2个回答
0
投票

无论如何,代码签名在所有这些操作系统中都是一个不同的过程,因此根据定义没有任何共同点。您必须使用SDK提供的工具。唯一常见的可能是证书,这在iOS / Android / Windows中也有所不同,因为MS / Google / Apple希望您使用自己的根证书。

也就是说,你不一定需要SDK在Windows中签名文件,有一个Signing API


0
投票

安装Windows SDK后,可以将Signtool复制到任何位置。只需从“C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.0A \ bin \”或同等版本中复制signtool.exe,并将其作为实用程序包含在安装制造商文件中。

然后,NSIS脚本可以使用此exe在Windows上操作时自动签署安装程序。在Mac上运行时,需要使用开关来使用Mac上固有的代码签名工具。

签署卸载程序可能会稍微复杂一些,因为它通常直到安装时才生成;仅供参考:https://nsis.sourceforge.io/Signing_an_Uninstaller

© www.soinside.com 2019 - 2024. All rights reserved.