微软的signtool是否有一个开源替代方案,用sha2签署exes?

时间:2016-02-24 12:22:52

标签: linux windows code-signing signtool sha2

我们需要使用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问题。

2 个答案:

答案 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版获得许可。