java - 无法签署 jar : java. io.IOException:无效编码:冗余前导 0

标签 java ant jarsigner

更新到 JDK 8u131 后,我们无法再对某些 jar 进行签名。我们正在使用 Ant 的<signjar>签署任务。签名失败并出现以下错误:

[signjar] jarsigner: unable to sign jar: java.io.IOException:
    Invalid encoding: redundant leading 0s

有趣的是,有时 jar 签名成功,有时签名失败。我发现了以下错误:

https://bugs.openjdk.java.net/browse/JDK-8175251

有人建议使用以下命令标准化 pkcs12 文件:

openssl pkcs12 -in CodeSign.pfx -out key-and-cert -nodes
openssl pkcs12 -in key-and-cert -export -out CodeSign2.pfx

但是,即使在执行这些命令并使用新的 key 文件之后,我仍然遇到相同的“冗余前导 0”错误。

临时解决方法是使用 JDK 8u112 或更早版本。

有什么想法可以解决这个问题吗?

最佳答案

我们也遇到了同样的问题。 最新的jdk 1.8.0_151似乎解决了这个问题。 jarsigner -verify 不再检测到无效的 jar。

关于java - 无法签署 jar : java. io.IOException:无效编码:冗余前导 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45342449/

相关文章:

android - Eclipse 选项不可用 : Android Tools > Export Unsigned Application Package

java - 如何防止 jarsign 脚本覆盖已签名 jar 中的现有 list 值?

java - JSoup - 如何获取紧接在 <span class = *> 之前的 href(url/link)?

java - STRUTS2 - 值堆栈值在 URL 中传递!

java - 如何将一组字符与哪些键是字符的映射进行比较?

java - 执行使用ANT编写的JAR时出现问题

java - FCM 与云数据存储

java - Maven zip 程序集,包括子目录内容

linux - Zookeeper zkServer.sh 无法持久启动

java - 在签名的 jar 文件上使用 pack200