web-dev-qa-db-ja.com

jarsignerエラー:Java.lang.RuntimeException:キーストアのロード:キーストアが改ざんされているか、パスワードが正しくありませんでした

Java 6のjarsignerを使用して.wgtファイル(jarファイルであるウィジェット)に署名しようとしています。しかし、署名しようとすると、入力を求めた後、次のエラーが表示されます。キーストアのパスフレーズ。

jarsigner error: Java.lang.RuntimeException: keystore load: Keystore was tampered with, or password was incorrect

新しく作成したキーストアでも試したので、正しいパスワードを入力していると確信しています。他に間違っている可能性のあるものはありますか?前もって感謝します!

17
Pushpalanka

パスワードを引用符で囲む場合は、引用符を削除してみてください。 Windows7の1.7.0_25-b17 JDKでjarsignerを使用すると、このエラーが発生しました。通常、SolarisおよびLinuxでは以前のバージョンのjarsignerを使用し、シェルによって解釈される文字が含まれていることが多いため、パスワードは常に一重引用符で囲んでいます。 。

検証はしていませんが、* nixのシェルインタープリターはパラメーターをjarsignerに渡す前に引用符をトリミングしていると思いますが、Windowsコマンドのプロンプトは検証しません。

たとえば、代わりに

jarsigner -keystore /my/cert/file -storepass 'password' /my/jar/file my_alias

試してみてください

jarsigner -keystore /my/cert/file -storepass password /my/jar/file my_alias

5
Peter

@Peterとは正反対の問題があり、パスワードに特殊文字が含まれていて、パスワードを二重引用符で囲むまで、署名スクリプトでこのエラーが発生し続けました"

これは、コマンドラインに直接入力するのではなく、バッチファイルを実行してアプリに署名していたため、Windowsがパスワードの特殊文字について混乱していたためだと思います。

3
ScouseChris

キーストアのエイリアス名を一度確認してください。キーストアのエイリアス名がkeytoolのエイリアス名と異なる場合、同じエラーが発生することがあります...エイリアス名を一度確認してください

2
Bhaskar

私の場合、CapsLockキーに問題がありました。

0
user2983041

私の問題は、-storepassおよび-keypassスイッチを使用してコマンドにパスワードを入力していて(とにかく悪い考えです)、私のシステムではJarsignerにパスワードがないことでした。それらを引き出して、Jarsignerにパスワードの入力を求めるプロンプトを表示させると、期待どおりに機能しました。

0
rob5408