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

无法对jar:java.io.IOException:无效编码:冗余前导0,java,ant,jarsigner,Java,Ant,Jarsigner,更新到JDK 8u131后,我们无法再签署一些JAR。我们使用ant的任务进行签名。签名失败,出现以下错误: [signjar] jarsigner: unable to sign jar: java.io.IOException: Invalid encoding: redundant leading 0s 有趣的是,有时JAR被成功签名,有时签名失败。我发现了以下错误: 有人建议使用以下命令规范化pkcs12文件: openssl pkcs12 -in CodeSign.pfx

更新到JDK 8u131后,我们无法再签署一些JAR。我们使用ant的
任务进行签名。签名失败,出现以下错误:

[signjar] jarsigner: unable to sign jar: java.io.IOException:
    Invalid encoding: redundant leading 0s
有趣的是,有时JAR被成功签名,有时签名失败。我发现了以下错误:

有人建议使用以下命令规范化pkcs12文件:

openssl pkcs12 -in CodeSign.pfx -out key-and-cert -nodes
openssl pkcs12 -in key-and-cert -export -out CodeSign2.pfx
然而,即使在执行这些命令并使用新的密钥文件之后,我仍然会得到相同的“冗余前导0”错误

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


有没有办法解决这个问题?

我们遇到了同样的问题。
最新的JDK1.8.0_151似乎解决了这个问题。检测到无效的jar不再使用jarsigner-验证。

您可以使用verbose=“true”运行signjar并显示命令(不带密码)吗?您是否使用了“tsaurl”选项?@RonaldKlop我已经用
verbose=“true”
签名了(日志中没有什么特别的内容)。是的,我使用的是
tsaurl=”http://timestamp.digicert.com“