web-dev-qa-db-ja.com

Keytool Signing Problem:キーストアが改ざんされているか、パスワードが正しくありません

Google Maps APIのAndroidアプリ(デバッグは正常に署名されました)のリリースバージョンに署名しようとしています。

keytool -list -alias cancertrials -keystore /Users/syalam/Documents/workspace/Cancer_Trials/keys/release -storepass Android -keypass cancertrials

しかし、私はエラーを受け取ります:

Java.io.IOException: Keystore was tampered with, or password was incorrect

Eclipseでアプリをエクスポートしようとすると、キーストアとパスワードが要求され、それを正しく入力しているため、パスワードが正しいと確信しています。

なぜこれに署名できないのか分かりませんか? Googleマップをリリースモードで表示する必要があります(デバッグモードで動作)。

15
Sheehan Alam

リストを作成するだけなら、ストアパスを含める必要はないと思います。ストアパスは、リストを実行するときに表示されない秘密鍵を暗号化します。これを試してください:

keytool -list -keystore /Users/salam/Documents/yada/yada

次に、プロンプトが表示されたらキーストアのパスワードを入力します。それが機能する場合、コマンドラインでキーパスのみを試すことができます。

また、同じバージョンのJavaを使用していることを確認してください。私はそれが問題だとは思わないが、もし上記がそれを試すのを助けないなら。

24
chubbsondubs

どういうわけかWindowsでは、キーツールはパスワードを受け入れません。 Google Dev ConsoleのプロジェクトでクライアントIDを構成するために必要なのはSHA1パスワードのみでした。次は私のために働くようでした

keytool --list --keystore Android.jks --protected

これにより、すべてのエイリアスのSHA1キーが印刷されました。

5
shauvik

1.6.0_29に戻すと、jdk1.6.0.31のjarsignerで同じ問題が発生し、jarsignerは正常に動作します。 jdkのバージョンに注意してください。

2
Marek Gregor

エイリアス名を1回確認してください。エイリアスがkeytoolエイリアス名と異なる場合は、同じエラーが発生します。つまり.

2
Bhaskar

keytool -list -keystore "Path of the keystore"

このコマンドは、linuxマシンでパスワードを要求しますが、Windowsマシンでは、リストキーストアを入力するだけです。

0
Manas