我们已经设置了使用Microsoft的SIGNTOOL手动签名代码的过程。我们使用NSIS生成安装包,是时候开始自动执行代码签名过程以及NSIS脚本的一部分了。
我们不使用Windows SDK进行开发,因此不希望我们的开发人员没有此要求。我们在Mac和Linux上也有一些人。任何人都可以制作安装程序,而安装程序制造商将可以自动对代码进行签名。我们正在使用PFX文件对代码进行签名。
因此,基本上,我试图弄清楚,“我应该如何在不安装任何东西的情况下签名代码,除了可能只有一个小文件,以便它可以在所有三个主要操作系统上使用”。可以使用NSIS进行自动化,但是在没有任何操作系统的Windows SDK的情况下无法实现。
答案 0 :(得分:0)
代码签名都是不同的过程,因此从定义上讲,没有什么共同之处。您必须使用SDK提供的工具。唯一常见的可能是证书,并且在iOS / Android / Windows中也不同,因为MS / Google / Apple希望您使用自己的根证书。
也就是说,您不一定需要SDK在Windows中对文件进行签名,而是有Signing API。
答案 1 :(得分:0)
一旦安装Windows SDK,Signtool可以复制到任何地方。只需从“ C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v8.0A \ bin \”或等效文件中复制signtool.exe,并将其作为实用程序包含在安装程序的制作文件中即可。
然后在Windows上运行时,NSIS脚本可以使用此exe自动对安装程序进行签名。在Mac上操作时,需要进行切换,以使用Mac固有的codesign工具。
卸载程序的签名可能要复杂一些,因为通常要等到安装时才能生成。包括(仅供参考):https://nsis.sourceforge.io/Signing_an_Uninstaller