我们需要使用sha2算法签署Windows软件,但安装signtool似乎是一个问题,因为我在我的机器上安装软件时遇到了困难。
而且,我想在linux上签署exes。
我们曾经使用signcode执行任务,但它只支持sha1和md5。自2016年1月1日起,不再接受sha1和md5。
因此,我想知道执行任务的替代方法是什么。
更新:我确实从另一台计算机中获取了一个signtool,它确实使用时间戳对文件进行了签名:
signtool.exe sign /fd SHA256 /a /f file.pfx /p my password /t http://timestamp.verisign.com/scripts/timstamp.dll filetosign.exe
它确实显示为使用SHA256签名并且它有时间戳,但InternetExplorer仍然存在问题。
恕我直言,仍然需要这个问题,知道是否有替代方案,以及这种替代方案是否可以在Linux下运行,因为一个可以完成工作的替代工具意味着解决方案因为signtool,而不是证书问题或IE问题。
答案 0 :(得分:0)
答案 1 :(得分:0)
另一种选择是ebourg/jsign
,它是用Java编写的。
可以直接从Java调用它,也可以将其作为ant
任务提供。
由于该工具是用Java编写的,因此可以在运行Java的任何平台上使用,包括(但不限于)Linux,Solaris和macOS。
引用README.md
Jsign是Microsoft Authenticode的Java实现,可让您对Windows,Microsoft Installers(MSI)和PowerShell脚本的可执行文件进行签名和时间戳。 Jsign是独立于平台的,它提供了本机工具的替代方案,例如Windows上的signcode / signtool或Unix系统上的Mono开发工具。
Jsign是主要构建系统(Maven,Gradle,Ant)的易于使用的任务/插件。它特别适合对由NSIS,msitools,install4j,exe4j或launch4j之类的工具生成的可执行包装程序和安装程序进行签名。 Jsign也可以以编程方式或独立用作命令行工具。
Jsign是免费使用的,并根据Apache License 2.0版获得许可。