web-dev-qa-db-ja.com

空のキーストアパスワードを使用することは以前可能でしたか?

Android開発からの長い休憩の後にAPKに署名するとき、それをロック解除するために空のキーストアパスワードを入力することができなくなったことに驚きました。私または以前は可能でしたか?可能であれば、いつ変更されましたか。

いくつかの背景:たぶん私は頭がおかしくて、以前にキーストアに空のパスワードを使用していなかったかもしれませんが、代わりに使用できた唯一の可能なパスワードも機能しません(私は誓います、私はチャンスがないでしょう) d別のパスワードを使用しました!)。

24
TomTasche

キーストアは、Java SDKのkeytoolを使用して操作できます。

キーストアでkeytoolを実行して、空のパスワードで証明書を抽出します。その後、それを新しいキーストアにインポートします。今回は、実際のパスワードを使用します。

スイッチ-exportcertはそれを達成するのに役立ちます。

Java sdkを更新したため、(ツールのセキュリティアップグレードのため)空のパスワードを入力できない場合があります。その場合は、古いsdkをインストールして、上記。

幸運を!

9
Udinic

Keytoolプログラムを使用する代わりに、単純なJava SEプログラムを作成して、キーを使用するのに疲れたり、エイリアスを一覧表示したりします。APIを使用する必要があります(これを100%にするのではなく)空の("")パスワード。 portecle のようなサードパーティのツールを試して、キーを一覧表示/抽出することもできます。

5
Nikolay Elenkov

デフォルトを試すAndroidデバッグモードのキーストアパスワードで、AndroidまたはJava cacertsのデフォルトchangeit/changeme

4
Aleksandr M

私もこの問題に直面し、非常に奇妙でした。パスワードで保護されていないレガシーキーストアがありました。 SoapUIで正常に使用できましたが、keytoolおよび keystore Explorer で開けませんでした。私はすでにパスワードが設定されている新しいキーストアを作成する必要があり、それ以降はすべて問題ありませんでした。

Java 8はJava 7よりもうるさいです。

keytool -importkeystore -srckeystore client.jks -destkeystore client2.jsk -srcstoretype JKS -deststoretype JKS -deststorepass changeit
3
Leos Literak

キーストアに空のパスワードを使用することはできません。

Jdk 1.3 keytoolが許可しない限り、私は確認しました http://docs.Oracle.com/javase/1.3/docs/tooldocs/win32/keytool.html を参照してください。それ:

storepassは6文字以上である必要があります。キーストアのコンテンツにアクセスするすべてのコマンドに提供する必要があります。このようなコマンドの場合、コマンドラインで-storepassオプションを指定しないと、ユーザーにそのオプションの入力を求められます。

おもしろいことに、jdk 1.2からkeytoolを試してみたくなりました。そのドキュメントにはパスワードが必須であると記載されていないため、ダウンロードしましたが、インストールにはWindows NTボックスが必要です! Android=このキーツールバージョンを使用したことはないと思います。

申し訳ありませんが、パスワードを忘れたか、Caps Lockで入力したか、間違ったキーボードレイアウトが有効になっているようです。 :(

編集:

レイアウトの問題でない場合は、

3
pcans

上記のすべてが失敗した場合、それをクラックしてみることができます。関連質問: Android-キーストアのパスワードを忘れました。キーストアファイルを復号化できますか?

1
Sarel Botha

それは私にとってはうまくいきます:

keytool -list -keystore keyStoreFileWithotPassword.jks -protected

修正:list機能は、実際のパスワードを入力せずに機能することがわかります!しかしimport機能にはパスワードが必要です

0
Deian