4

我们需要使用 sha2 算法对 Windows 软件进行签名,但安装 signtool 似乎是个问题,因为我很难在我的机器上安装该软件。

此外,我想在 linux 上签署 exe。

我们以前使用signcode 执行任务,但它只支持sha1 和md5。自 01.01.2016 起,不再接受 sha1 和 md5。

因此,我想知道执行任务的替代方法是什么。

更新:我确实从另一台计算机上提取了一个签名工具,它也用时间戳对文件进行了签名:

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 问题。

4

2 回答 2

1

另一种选择是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 许可证 2.0 版下获得许可。

于 2019-12-16T16:03:26.057 回答
1

https://github.com/mtrojnar/osslsigncode-h sha2 --签名时使用参数

于 2019-07-26T16:59:32.733 回答