web-dev-qa-db-ja.com

Androidで失われたKeyStoreパスワードを処理する方法は?

キーストアのパスワードを忘れてしまったので、どうすればいいかわかりません(言い訳をすることはできませんし、しません)。バグを修正しただけで、それ以上は不可能なので、アプリを更新したい。同じキーストアを使用して新しいキーを作成するとどうなりますか?それでもアプリを更新できますか?それが不可能な場合、更新されたバージョンに関する情報をユーザーに提供するにはどうすればよいですか?

誰かがこのような問題を抱えていたり、トラブルに遭遇した場合、状況を改善するためにどのようなアドバイスを与えることができますか?幸いなことに、それは無料アプリです。

72
irobotxxx

このリンク を参照してください

残念ですが、キーストアまたはキーストアのパスワードを紛失すると、アプリケーションは孤立します。できることは、新しいキーの下でアプリを市場に再送信することだけです。

常にキーストアをバックアップし、安全な場所にパスワードを書き留めてください。

39
Zebaz

自分でこの問題に遭遇しました-幸いなことに、Gradleの一時ファイルでパスワードを見つけることができました。誰かがここに着いた場合に備えて、探してみてください

..Project\.gradle\2.4\taskArtifacts\taskArtifacts.bin

それは平文であった。一般に、パスワードの少なくとも一部を覚えている場合は、この部分文字列を含むファイルを検索してみてください。

ここでそれを捨てたかった、おそらくそれは最終的に誰かを助けるでしょう。

154
ElDoRado1239

間違ったパスワードが提供された場合、一度だけでも、次の試行で言い続けます:

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

正しいものを提供しても。私はそれを数回試しましたが、多分それは何らかの保護です。
エクスポートウィザードを閉じて、正しいパスワードを使用して再起動します。これで動作します:)

41
Fr3eSKo

ブルートはあなたの最善の策です!

ここに私を助けたスクリプトがあります:

https://code.google.com/p/Android-keystore-password-recover/wiki/HowTo

オプションで、非常に高速な回復のためにパスワードmightに含める単語のリストを指定できます(私にとっては1秒未満で機能しました)

35
Artur

MACでコンソールユーティリティを起動し、〜/ Library/Logs-> AndroidStudio-> idea.log.1(または任意の古いログ番号)までスクロールします。次に、「キーストア」を検索し、ログのどこかに表示されるはずです。

元の質問: link

19

実際、thekeystore passwordをなくしても問題はありません。
以下のkeytoolコマンドを使用して、新しいキーストアを作成し、新しいパスワードを設定できます。元のキーストアパスワードは必要ありません。

keytool -importkeystore -srckeystore path/to/keystore/with/forgotten/pw \
-destkeystore path/to/my/new.keystore

プロンプトが表示されたら、new.keystoreおよびソースキーストアパスワード(失った)のパスワードを作成しますEnterを押します。
整合性がチェックされていないという警告が表示され、new.keystoreが新しく設定されたパスワードで元のものと同一になります。

これが機能する理由は、keystore passwordkeystoreの整合性を提供するためにのみ使用され、秘密鍵を実際に暗号化するprivate key passwordとは対照的に、データを暗号化しません。

アプリに署名するには、private key passwordを知っている必要があることに注意してください。忘れられたkeystore passwordと同じ場合、@ Arturの答えのようにブルートフォースに頼ることができます。

このアプローチは私にとって常に有効でした。

16
kiruwka

Go to taskHistory

最後に、2日間を費やして解決策を見つけました...

次の手順を実行します:

  1. プロジェクトに行く
  2. .gradleで、私の場合は4.1だったgradleバージョンフォルダーを見つけます(写真を参照)
  3. 4.1フォルダーを展開すると、taskHistoryフォルダーにtaskHistory.binファイルがあります。
  4. Android studio自体でtaskHistory.binファイルを開きます。
  5. 「.storePassword」を検索します。これで、キーストアのパスワードを取得できました。

これは本当に役に立ちました。

これと幸せなコーディングを試してみてください!!!

14
Arjun G

これは単なるコメントではないので、私はそれを答えにする必要があると感じています。 @ ElDoRado1239は彼の答えで言っている (彼の答えを支持することを忘れないでください;)

  • ..Project\.gradle\2.4\taskArtifacts\taskArtifacts.binを使用しているため、私の場合は..Project\.gradle\2.2.1\taskArtifacts\taskArtifacts.binにあるgradle 2.2.1を探します
  • @Moxet Khanがコメントで言っているようにstorePasswordを探します...私の場合はsigningConfig.storePassword¬í t my.forgoten.password—signingConfig.keyAlias行にありました

他の誰かを助けることを願っています!!!

13

幸いなことに、Android studioログからキーストアパスとエイリアス名とともにパスワードを失いました。

linux/Unixベースのマシンを実行している場合。

ライブラリログディレクトリに移動します

cd ~/Library/Logs/

前回のリリースAPKのビルドに使用したAndroidスタジオバージョンを覚えていれば、そこにあります。そのディレクトリに移動します

例:cd AndroidStudio1.5 /

そこにログファイルがあります。いずれかのログファイル(idea.log)にキーストアの資格情報があります

-Pandroid.injected.signing.store.file=/Users/myuserid/AndroidStudioProjects/keystore/keystore.jks, 
-Pandroid.injected.signing.store.password=mystorepassword, 
-Pandroid.injected.signing.key.alias=myandroidkey, 
-Pandroid.injected.signing.key.password=mykeypassword,

これがAndroid St​​udioユーザーに役立つことを願っています

12
Ajanthan Mani

それは少し遅れるかもしれませんが、それは確かに誰かを助けるでしょう

signingConfig.storePassword

また、キーエイリアスを忘れた場合は、signingConfig.keyAliasのようなものも検索できます。

Project.gradle\3.3\taskArtifacts\taskArtifacts.bin

誰かを助けることを願っています

10
Ghanshyam Nayma

Android St​​udioで失われたキーストアパスワードを回復するための可能なオプションの調査にほぼ1日を費やした後。私はそれを行うために次の4つの可能な方法を見つけました:

  1. AndroidKeystoreBrute を使用してパスワードを取得します。この方法は、パスワードを部分的に忘れてしまったことを意味する場合に非常に便利です。

  2. 同じマシンで以前にアプリ(キーストアのパスワードを検索)をリリースした場合は、Android St​​udioログファイルから取得することもできます。次のディレクトリを参照してください。

    Mac OSX

    〜/ Library/Logs/AndroidStudio/idea.log.1

    Linux(可能な場所)

    / home/user_name/AndroidStudio/system/log

    Windows(可能な場所)

    C:\ Users\user_name\AndroidStudio\system\log

    ファイル内でPandroid.injected.signing.key.passwordを検索します。現在見ているのと同じAndroid St​​udioバージョンでアプリに以前に署名した場合、パスワードが表示されます。

  3. プロジェクトの.gradleディレクトリからパスワードを取得することもできます。次のパスを探します

    project_directory/.gradle/2.4/taskArtifacts/taskArtifacts.bin。

    注:これは、Gradleの新しいバージョン(2.10以降)では機能しないようです。

  4. 上記の解決策のどれもうまくいかない場合は、これを試すことができますが、このためにはAndroid St​​udio IDE appまたはプロジェクトキーストアのパスワードが以前に保存されている設定が必要です(アプリへの署名時に[パスワードを保存する]オプションを使用します)。次のパスからIDE設定を取得できます。

    Mac OSX

    〜/ Library/Logs/AndroidStudio/idea.log.1

    Linux(可能な場所)

    / home/user_name/AndroidStudio

    Windows(可能な場所)

    c:\ user\username\.AndroidStudio

    古いAndroidの設定を新しいIDEに持っているかインポートする場合は、古いIDE St​​udio IDEを使用し、キーストアも配置します。前回署名したときと同じパスにファイルを保存し、前回パスワードを保存しました。

    この方法では、プロジェクトを開いて[ビルド]-> [署名済みAPKの生成]を試行し、古い場所からキーストアファイルを選択します。パスワードを自動的に取得し、リリース用の署名済みAPKの生成を続けます。

    リリースAPKが正常に生成されると、前述のオプション2に従って、最近生成されたリリースAPKのログファイルからパスワードを確認できます。

9
EEJ

これに出くわす可能性のある他の人のために、あなたやこの記事を閲覧している他の人(私のように)に当てはまる答えを共有したいと思いました。

Eclipseを使用しており、1.0リリース用にキーストアを作成しました。 3か月早送りして、1.1に更新したかった。 EclipseでExport ...を選択し、そのキーストアを選択したとき、覚えていたパスワードが機能しませんでした。毎回「キーストアが改ざんされているか、パスワードが正しくありません。」 (1週間かそこら)立ち上がって機能するようにできる限り。

幸いなことに、Eclipseの外部で署名のない.apkファイルに署名します。出来上がり-うまくいきました!私のパスワードはずっと正しかった! 理由はわかりませんが、パスワードが正しい場合でも、エクスポートメニューを使用してEclipseで署名するとエラーが報告されました。

したがって、このエラーが発生している場合、apkを市場に投入できるようにするための手順を以下に示します( Android documentation から取得)。

注:Eclipseから未署名のAPKを取得するには、プロジェクトを右クリックし、[Androidツール]> [未署名のアプリケーションをエクスポート]を選択します。

  1. キーストアで署名されていないapkファイルに署名する

    a。管理者cmdプロンプトを開き、「c:\ Program Files\Java\jdk1.6.0_25\bin」またはJavaのバージョン(未署名のapkファイルとキーストアをコピーした場所)に移動します

    b。同じディレクトリ内のキーストアファイルと署名されていないapkのcmdプロンプトで、次のコマンドを入力します。jarsigner -keystore mykeystorename.keystore -verbose unsigned.apk myaliasnamefromkeystore

    c。 「キーストアのパスフレーズを入力してください」と表示されます。入力してReturnキーを押します。

    d。 ===>成功は次のようになります。

    adding: META-INF/MANIFEST.MF
    ...
    signing: classes.dex
    

    e。署名されていないバージョンはその場所で上書きされるため、署名されたapkファイルは、署名されていないものと同じファイル名になります。

  2. ZipAlignを使用して、署名されたapkファイルを圧縮して市場で配布します

    a。 admin cmdプロンプトを開き、「c:\ AndroidSDK\tools」またはAndroid SDKをインストールした場所に移動します

    b。次のコマンドを入力します。zipalign-v 4 signed.apk signedaligned.apk

    c。 ===>成功は次のようになります。

    Verifying alignment of signedaligned.apk (4)
    50 META-INF/MANIFEST.MF (OK - compressed)
    ...
    1047129 classes.dex (OK - compressed)
    Verification succesful
    

    d。署名および整列されたファイルは、signedaligned.apk(前のコマンドで指定したファイル名)にあります

========>市場への提出準備完了

9
ckbhodge

まずAndroidKeystoreBrute_v1.05.jarをダウンロードしてから、指定された画像に従います。 enter image description here

(wordlist.txt)のような1つのwordlistfileを準備し、そのファイルに次のようなヒントを与えます

パスワードのヒント:

ユーザー

ユーザー

パスワード

パスワード

pa55Word

パスワード

@

*

$

1

2

123

789

Uはパスワードを取得します。

ソリューション2019(Windows、Android St​​udio 3.3、gradle 4.10):

このソリューションは、「パスワードを記憶する」チェックボックスが以前にマークされていた場合にのみ機能します。

まず、このバージョンのgradleにはtaskArtifacts.binが存在せず、idea.logにパスワードのアスタリスクが表示されます。これは私にとってはうまくいかない昔の解決策でした。

クリアテキストパスワードを見つけた場所:C:\ Users\{username}\AndroidStudioProjects\{project}\app\build\intermediates\signing_config\release\out\signing-config.json

キー:mStorePasswordおよびmKeyPassword。

他の人の助けになることを本当に願っています。

5

これを別の可能性として追加します。答えはすぐ下にあるかもしれません-過去のある時点で署名構成を指定したことがあった場合、アプリのbuild.gradleファイルで:

signingConfigs {
    config {
        keyAlias 'My App'
        keyPassword 'password'
        storeFile file('/storefile/location')
        storePassword 'anotherpassword'
    }
}

ラッキーだと思いますか?!

5
ScottyB

私は同じ問題を一度に抱えていました。 Google Playによるアプリ署名では、キーストアまたはそのパスワードを失うことは以前のように大したことではありませんが、開発者として、Googleはそれを処理するのに数日待たずにパスワードを変更し、生成されたキーストアファイルを使用することを好みます。 (Googleでこの問題を処理するには、この link を使用してリクエストを作成します)この問題を自分で処理するには、まず、この link から2つの.Javaファイルをダウンロードします。次に、javac ChangePassword.JavaコマンドでChangePassword.Javaをコンパイルします。その後、実行することができます後

Java ChangePassword <oldKeystoreFileName.keystore> <newKeystoreFileName.keystore>

oldKeystoreFileName.keystoreを現在のキーストアファイルのパス/名前に変更し、newKeystoreFileName.keystore生成された新しいキーストアファイルのパス/名前。これにより、

キーストアのパスワードを入力してください:

。好きなものを入力してください:)紛失した元のパスワードである必要はありません。次に、*で新しいパスワードを入力します

新しいキーストアのパスワード:

  • 出来上がり、それだけです。これにより、キーストアのチェックサムが変更されることはなく、アプリの署名やplay.googleイベントへのアップロードで問題が発生することもありません。
3
SIW

Google+のZach Klippensteinも同じ問題を抱えていました。スレッドをフォローできます here

パスワードを見つけました

C:\Users\{Username}\.AndroidStudio2.2\system\log\idea.txt

検索する

Pandroid.injected.signing.store.password
2
Yusuf Demirag

taskHistory.binを開き、storePasswordを検索します

2
MANOJ YADAV

プロジェクト検索パスワードのtaskhistory.binフォルダーの.gradleに移動し、パスワードが見つかるまで下にスクロールします

2
Aryan Soni

要約すると、この質問には3つの答えがあります(そして、解決策は受け入れられた答えではありません):

  1. ログがそのままの場合は、上記の Georgi Koemdzhiev's の回答に従って、Android St​​udioログファイルでパスワードを見つけることができます。

  2. 上記の ElDoRado1239's および Gueorgui Obregon's の回答に従って、.gradleディレクトリの「taskArtifacts.bin」ファイルからパスワードを取得できます。これは、Gradleの新しいバージョン(2.10以降)では機能しないようです。

  3. AndroidKeystoreBruteを使用して、 Srinivas Keerthiprakasam's 上記の回答に従ってパスワードを推測またはブルートフォースします。

これら3つのソリューションはすべて、この link で詳細に説明されています。

2
Varun

両方のパスワードが異なる場合、Androidのブルートフォースは機能しません。そのため、最適なオプションは、

log.idea

c:/ users/namedアカウントで、Androidフォルダー内でそのファイルlpg.ideaをメモ帳で開いて検索することがあります。

エイリアス

メモ帳の検索オプションを使用すると、パスワードとエイリアスとエイリアスパスワースが表示されていることがわかります。

2
Kawal Singh

ソリューション2018:パスワードまたはjksファイルがない場合、新しいキーストアファイルでアプリに署名します。

1)コマンド行を使用して新しいkeystore.jksファイルを作成します(Android studioビルドメニューではありません)

keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks

Windowsの例:"C:\Program Files\Android\Android Studio\jre\bin\keytool.exe" -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore "C:\keystore_new.jks"

2)新しいキーストアから.pemファイルを生成します

keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks

Windowsの例:"C:\Program Files\Android\Android Studio\jre\bin\keytool.exe" -export -rfc -alias upload -file "C:\upload_cert.pem" -keystore "C:\keystore_new.jks"

3)このサポートフォームを使用して、「キーストアの問題」を設定し、添付ファイルで.pemファイルを追加します:https://support.google。 com/googleplay/Android-developer/contact/otherbugs

4)12-48h新しいキーストアが有効になります。新しいキーストアで署名された新しいapkでプレイストアのアプリを更新します:D

1
PTKDev

私の場合、正しいパスワードを保存していても、エイリアス名が間違っていました。間違ったパスワードだと思ったので(ionicパッケージを使用)、このコマンドを使用してエイリアス名を取得しました

keytool -list -v -keystore

そして、私は再びキーストアを使用することができました!

1
cbyte

C:\ Users\admin\AndroidStudioProjects\TrumpetTVChannel2.gradle\2.14.1\taskArtifacts\taskArtifacts.bin

最初に新しいキーストアを作成してみてください...その後、メモ帳でtaskArtifacts.binを開き、指定したばかりのパスワードを探します....指定したばかりのパスワードに近い単語を見つけて、近くにあるこれらの単語を検索できます同じファイル内のパスワード....パスワードを把握することができます..... :)

1
AK Jayapalan

何も動作しない場合は、これらの行を試してください。 .jksが保存されているパスに移動します。コマンドプロンプトでこのコマンドを実行します。パスワードを要求し、それを無視してEnterを押します。

keytool -list -keystore sample.jks

0
AMAN SINGH

Macユーザーの場合は、キーチェーンアクセスをチェックアウトアプリケーションを試してください。私のパスワードは、Passwordsという名前のorg.jetbrains.Android.exportSignedPackage.KeystoreStep$KeyStorePasswordRequestorの下に保存されました。または、キーチェーンアクセスでAndroidを検索して、キーチェーンアプリでパスワードを見つけることもできます。

しかし、パスワードがどのように終わったかはわかりません。しかし、私はそれをそこに置いたことを思い出しません。したがって、Android St​​udioである必要があります。これが役に立てば幸いです。

注:更新されたパスワードで署名する前にRebuild ProjectまたはClean Projectを忘れないでください。そうしないと、パスワードが正しいにもかかわらず、Android St​​udioがapkのビルドに失敗する場合があります。

0

ブルートフォースを使用する簡単な方法は、プレーンテキストのパスワードを見つけることです。

後藤:

C:\Users\<your username>\AndroidStudioProjects\WhatsAppDP\.gradle\2.2.1\taskArtifacts

開いた:

taskArtifacts.bin 

taskArtifacts.binを開くと、暗号化されているように見える場合がありますが、「。keyPassword」の検索を数回心配する必要はありません。次に、プレーンテキストでパスワードを検索します。次のようになります。

signingConfig.keyPassword¬í t <your password>Æù

これがお役に立てば幸いです。

0
jfindley

私の場合、Android St​​udioを2.3から3.0.1にアップグレードしました。新しい更新用に署名済みAPKを生成しようとすると、「キーストアが改ざんされたか、パスワードが正しくありません」というエラーが表示されました。以前のキーストアがあり、パスワードを完全に確信していたので、数回前にアプリを更新しました。多くを検索した後、解決策はどれも私にとってはうまくいきませんでした。これが私がしたことです。

  • 別のプロジェクトを開きました。
  • ファイル/新規/インポートプロジェクトを使用してプロジェクトをインポートしました
  • Gradleが構築されたら、署名付きapkを生成しようとしました。署名済みAPKのビルド/生成
  • 「既存の選択」をクリックして、キーストアへのパスを指定しました。
  • キーストアのパスワードを入力しました
  • キーエイリアスを選択しました
  • キーパスワードを入力します(私の場合、キーストアパスワードとキーパスワードの両方が同じです)
  • 次にクリックして、新しいApkのパスを指定し、両方のチェックボックスをオンにしました。
  • 新しいAPKが正常に生成されました。

これが誰にも役立つことを願っています。

0
Jawid Mowahed

私は同じ問題を経験しました、私は問題を解決するために以下の手順を試しました:-

  1. 新しいキーストアと新しいパスワードを作成して署名apkを作成します。

  2. 古いキーストア(以前のapkビルドのアップロード時に使用したキーストア)を使用して再度署名apkを作成しますが、新しいキーストアパスワードを使用します。

  3. これで間違いなく、古いキーストアを使用して正常に署名apkを作成できます。

    • このソリューションがあなたを助けることを願っています。
0
Rahul Jadhav

紛失したキーストアのパスワードを調べるには、これを試すことができます。私にとって、次の解決策はかなりうまくいきました。

~/Library/Logs/AndroidStudio2.0でアイデアログファイルを見つけます。 Android St​​udio-> Help-> Show Log in File managerを開いてこれらを見つけることもできます。

idea.logファイルを開きます。注:idea.log.1idea.log.2などの名前のファイルが複数存在する場合があります。パスワードが見つかるまで、それぞれを調べてください。

“Pandroid.injected.signing.key.password”を検索すると、キーパスワードが表示されます。

それが役に立てば幸い...

0
gagan bhutani