0

シナリオは次のとおりです。1 年前に Android アプリを作成してリリースしました。Java 5 を使用してキーストアとエイリアスを作成していました。ここにある手順でアプリに署名しようとすると: http://developer.android.com/tools/publishing/app-signing.html私はこれを取得します:

keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect

元のアプリをリリースするときにプライベート git リポジトリにコミットしたものからバイナリ ファイルが変更されていないため、キーストアが壊れていないことは確かです。パスワードは変更されておらず、passpack によって維持されています。

変更点: OS と Java のバージョン。私はもともと OS X 10.5 と Java 5.0 を実行していましたが、現在は OS X 10.6.8 と Java 6 を使用しています。

暗号化の不一致にまで絞り込んだと思います。そのセットアップのデフォルトの暗号化がどうなるか知っている人はいますか?

また、Eclipse ganymede/helios 用の Eclipse ADT 20.x を使用してキーストアを作成した可能性があります。それに関するデフォルト情報も見つかりません。

4

1 に答える 1

0

アプリ署名の手順では、2048 のキーサイズで RSA を使用するように指示されていますが、Java 5 の元のデフォルトは同じではありません。

Java 5.0 で作成されたキーストアのロックを最終的に解除した組み合わせは次のとおりです。

keytool -list -v -keystore sumall_android_keystore -keyalg DSA -keysize 1024 -sigalg SHA1withDSA

Java 5.0 の keytool は、デフォルトで DSA 1024 を使用してキーを作成します。
Java 6 と 7 の両方で、デフォルトの暗号化が変更されました。

参照: http://docs.oracle.com/javase/1.5.0/docs/tooldocs/solaris/keytool.htmlのサポートされているアルゴリズムとキー サイズ

于 2013-09-04T18:02:23.890 に答える