我们需要用sha2算法签署Windows软件,但是安装签名工具似乎是个问题,因为我在我的机器上安装软件有困难。
此外,我还想在linux上签个名。
我们过去用手码来执行任务,但它只支持sha1和md5。自2016年1月1日起,sha1和md5不再被接受。
因此,我想知道执行这项任务的替代办法是什么。
Update:我从另一台计算机提取了一个签名工具,它也用时间戳对文件进行了签名:
signtool.exe sign /fd SHA256 /a /f file.pfx /p my password /t http://timestamp.verisign.com/scripts/timstamp.dll filetosign.exe它看起来确实是与SHA256签署的,它有一个时间戳,但是InternetExplorer仍然在制造问题。
IMHO仍然需要这个问题,知道是否有替代方案,以及这个替代方案在Linux下是否有效,因为一种替代工具可以完成这项工作,这意味着解决方案由于签名工具而不起作用,而不是证书问题或IE问题。
发布于 2019-07-26 16:59:32
https://github.com/mtrojnar/osslsigncode --在签名时使用-h sha2参数
发布于 2019-12-16 16:03:26
另一种选择是ebourg/jsign,它是用Java编写的。
它可以直接从Java调用,也可以作为ant任务提供。
因为它是用Java编写的,所以这个工具可以在任何运行Java的平台上使用,包括(但不限于) Linux、Solaris和macOS。
引用README.md
Java是Microsoft的Java实现,它允许您为Windows、Microsoft和PowerShell脚本签名和时间戳可执行文件。like是独立于平台的,它提供了一种替代本地工具的方法,如Windows上的signcode/签名工具或Unix系统上的Mono开发工具。 对于主要的构建系统(Maven、Gradle、Ant)来说,J符号是一个易于使用的任务/插件。它特别适合于签名由NSIS、msitools、install4j、exe4j或launch4j等工具生成的可执行包装器和安装程序。J符号还可以作为命令行工具以编程方式或独立方式使用。 J符号可以在Apache 2.0版本下免费使用和授权。
https://stackoverflow.com/questions/35602118
复制相似问题