2017-07-27 41 views
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 

jarが正しく署名されないことがあり、署名が失敗することがあることは興味深いことです。でも、これらのコマンドを実行すると、私はまだ取得する新しいキーファイルを使用した後、しかし

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

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

あり、人々は次のコマンドを使用してPKCS12ファイルを正規化することをお勧め:私は、次のバグを発見しました同じ「冗長先頭0」エラー。

一時的な回避策は、JDK 8u112以前を使用することです。

この問題を解決する方法はありますか?

+0

verbose = "true"を指定してsignjarを実行し、コマンドを(パスワードなしで)表示できますか?あなたはオプション 'tsaurl'を使用しますか? –

+0

@RonaldKlop私はすでに 'verbose =" true "'で署名しています(ログには何も目立っていません)。そして、はい、私は 'tsaurl =" http://timestamp.digicert.com "' – ZhekaKozlov

答えて

0

同じ問題が発生しました。 最新のjdk 1.8.0_151が問題を解決するようです。無効なjarがjarsigner -verifyでもう検出されません。

関連する問題