0
更新到JDK 8u131后,我们无法再签署一些jar文件。我们正在使用ant的<signjar>
任务进行签名。签名失败,出现以下错误:无法签名jar:java.io.IOException:无效编码:多余的前导0s
[signjar] jarsigner: unable to sign jar: java.io.IOException:
Invalid encoding: redundant leading 0s
有趣的是,有时罐子签名成功,有时签名失败。我发现了以下错误:
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
然而,即使执行这些命令,并使用新的密钥文件,我仍然得到后相同的“冗余前导0”错误。
临时解决方法是使用JDK 8u112或更早的版本。
任何想法如何解决这个问题?
你可以使用verbose =“true”运行signjar并显示该命令(不带密码)吗?你是否使用'tsaurl'选项? –
@RonaldKlop我已经用'verbose =“true”'签名了(日志中没有什么值得注意的)。是的,我正在使用'tsaurl =“http://timestamp.digicert.com” – ZhekaKozlov