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