Comment gérer un mot de passe KeyStore perdu dans Android?

J'ai oublié mon mot de passe de Keystore et je ne sais vraiment plus quoi faire (je ne peux ou ne donnerai aucune excuse pour cela). Je souhaite mettre à jour mon application parce que je viens de corriger un bug mais ce n'est plus possible. Que se passe-t-il si j'utilise le même magasin de clés mais créez une nouvelle clé? Est-ce que je pourrais toujours mettre à jour l'application et si ce n'est pas possible, comment puis-je donner des informations aux utilisateurs sur la version mise à jour?

Si quelqu'un a eu un problème comme celui-ci ou a rencontré des problèmes, quels conseils pouvez-vous donner pour aider à remédier à la situation? Heureusement, c'est une application gratuite.

  • Comment puis-je créer une cellule dans un ListView dans Android pour développer et contracter verticalement quand il est touché?
  • Est-il possible d'utiliser AsyncTask dans une classe Service?
  • Mettre à jour le widget Android à partir de l'activité
  • Restaurer la fenêtre LogCat dans Android Studio
  • Concurrence sqlite Android sans exception
  • Puis-je utiliser AdMob dans les applications Android publiées sur Amazon Appstore?
  • Comment définir le mode portrait avec libGDX?
  • GetView renvoie null lorsque le fragment a été créé à partir d'une activité
  • Mettre l'écran verrouillé sur "Aucun" par programmation?
  • Quelle est la différence entre commit () et commitAllowingStateLoss () en Fragments
  • Rien à afficher dans la vue de projet Android
  • Comment puis-je détecter quel moteur javascript (v8 ou JSC) est utilisé au moment de l'exécution dans Android?
  • 21 Solutions collect form web for “Comment gérer un mot de passe KeyStore perdu dans Android?”

    Voir ce lien

    C'est malheureux, mais lorsque vous perdez votre magasin de clés ou le mot de passe de votre magasin de clés, votre application est orpheline. La seule chose que vous pouvez faire est de renvoyer votre application sur le marché sous une nouvelle clé.

    TOUJOURS sauvegardez votre magasin de clés et écrivez les mots de passe dans un endroit sûr.

    J'ai simplement rencontré ce problème moi-même – heureusement, j'ai pu trouver le mot de passe dans le fichier temporaire de certains Gradle. Juste au cas où quelqu'un atterirait ici, essayez de chercher

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

    C'était là en clair. En général, si vous vous souvenez d'au moins une partie de votre mot de passe, essayez de rechercher un fichier contenant cette sous-chaîne et, espérons-le, vous pêcherez quelque chose.

    Je voulais le jeter ici, peut-être qu'il finira par aider quelqu'un.

    Dans le cas où un mauvais mot de passe est fourni, même une fois, il continue à dire sur les tentatives suivantes:

    Keystore falsifié ou incorrect.

    Même lorsque vous fournissez le bon. Je l'ai essayé plusieurs fois, peut-être que c'est une sorte de protection.
    Fermez l'assistant d'exportation et recommencez avec le mot de passe correct, maintenant il fonctionne 🙂

    Brute est votre meilleur pari!

    Voici un script qui m'a aidé:

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

    Vous pouvez éventuellement lui donner une liste de mots que le mot de passe pourrait inclure pour une récupération très rapide (pour moi, cela a fonctionné en <1 sec)

    Sur un utilitaire de la console de lancement MAC et défilé vers ~ / Library / Logs -> AndroidStudio -> idea.log.1 (ou tout ancien numéro de journal) Ensuite, j'ai cherché "keystore" et il devrait apparaître quelque part dans les journaux.

    Question originale: lien

    En fait, perdre le keystore password n'est pas un problème.
    Vous pouvez créer un nouveau magasin de clés et définir un nouveau mot de passe pour cela avec la commande keytool ci-dessous. Vous n'avez pas besoin d'un mot de passe original pour ce fichier:

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

    Lorsque vous new.keystore invité, créez un mot de passe pour votre new.keystore et pour le mot de passe keystore source (que vous avez perdu), appuyez sur Entrée .
    Vous recevrez un avertissement sur l'intégrité non vérifié, et vous obtiendrez votre new.keystore identique à l'original avec un nouveau mot de passe défini.

    La raison pour laquelle cela fonctionne est le keystore password private key password utilisé uniquement pour fournir l'intégrité du keystore private key password , il ne crypte pas les données avec lui, contrairement au private key password , qui maintient votre clé privée cryptée.

    Veuillez noter que vous devez connaître votre private key password de private key password pour signer vos applications. Eh bien, si c'est le même que le keystore password oublié, vous pouvez recourir à la bruteforce comme dans la réponse de @ Artur.

    Cette approche a toujours fonctionné pour moi.

    Pour toute autre personne qui pourrait courir à travers cela, je voulais partager une réponse qui peut être le cas pour vous ou pour les autres qui parcourent cet article (comme moi).

    J'utilise Eclipse et j'ai créé mon magasin de clés pour ma version 1.0. Avance rapide 3 mois et je voulais le mettre à jour à 1.1. Quand j'ai choisi d'exporter … dans Eclipse et j'ai choisi ce magasin de clés, aucun de mes mots de passe dont je me souviens travaillé ne fonctionnait. Chaque fois qu'il a déclaré "Keystore falsifié ou mot de passe incorrect". Il est arrivé à un point où je me préparais à exécuter un programme de force brute pendant le temps que je pouvais supporter (une semaine ou deux) pour essayer de le faire fonctionner.

    Heureusement, je signer mon fichier .apk non signé à l'extérieur d'Eclipse. Voila – ça a fonctionné! Mon mot de passe était correct tout le temps! Je ne sais pas pourquoi, mais la signature dans Eclipse via le menu Exporter signalait une erreur même lorsque mon mot de passe était correct.

    Donc, si vous obtenez cette erreur, voici mes étapes (prises à partir de la documentation Android ) pour vous aider à obtenir votre apk prêt pour le marché.

    REMARQUE: Pour obtenir un apk non signé à partir d'Eclipse: cliquez avec le bouton droit de la souris sur le projet> Outils Android> Exporter une application non signée

    1. Signez le fichier apk non signé avec le magasin de clés

      une. Ouvrez l'invite cmd d'administration et accédez à "c: \ Program Files \ Java \ jdk1.6.0_25 \ bin" ou quelle que soit la version de java que vous avez (vous avez copié le fichier apk non signé et votre magasin de clés)

      B. À l'invite cmd avec le fichier keystore et l'apk non signé dans le même répertoire, tapez cette commande: jarsigner -keystore mykeystorename.keystore -verbose unsigned.apk myaliasnamefromkeystore

      C. Il dira: "Entrez Passphrase pour keystore:". Entrez-le et appuyez sur Retour.

      ré. ===> Le succès ressemble à ceci:

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

      E. La version non signée est écrasée en place, donc votre fichier apk signé est maintenant au même nom de fichier que celui non signé

    2. Utilisez ZipAlign pour compacter le fichier apk signé pour la distribution sur le marché

      une. Ouvrez la commande admin cmd et accédez à "c: \ AndroidSDK \ tools" ou où vous avez installé le SDK Android

      B. Entrez cette commande: zipalign -v 4 signed.apk signedaligned.apk

      C. ===> Le succès ressemble à ceci:

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

      ré. Le fichier signé et aligné est à signaligned.apk (le nom de fichier que vous avez spécifié dans la commande précédente)

    ========> PRÊT À SOUMETTRE À UN MARCHÉ

    Heureusement, j'ai trouvé mon mot de passe perdu avec le chemin d'accès et le nom d'alias clés de mes journaux de studio Android.

    Si vous utilisez des machines basées sur linux / Unix.

    Parcourir le répertoire des journaux de la bibliothèque

     cd ~/Library/Logs/ 

    Là-bas, si vous vous souvenez de votre version de studio Android, que vous avez utilisé pour construire la dernière version APK. Parcourir cet annuaire

    Ex: cd AndroidStudio1.5 /

    Dans ce cas, vous trouverez les fichiers journaux. Dans l'un des fichiers journaux (idea.log), vous trouverez vos informations d'identification de magasin clé

    Exemple

     -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, 

    J'espère que cela aidera les utilisateurs de Android Studio

    Téléchargez d'abord AndroidKeystoreBrute_v1.05.jar puis suivez l'image donnée. Entrez la description de l'image ici

    Préparez un fichier de liste de mots comme (wordlist.txt), dans ce fichier, donnez votre indice comme

    Question secrète de mot de passe:

    utilisateurs

    Utilisateurs

    Mot de passe

    mot de passe

    Pa55word

    Mot de passe

    @

    *

    #

    $

    &

    1

    2

    123

    789

    U recevra votre mot de passe.

    Je pense que je dois en faire une réponse parce que cela ne pouvait pas être juste dans les commentaires. Comme @ ElDoRado1239 dit dans sa réponse (n'oubliez pas d'annoncer sa réponse;)

    • Vous recherchez … ..Project\.gradle\2.4\taskArtifacts\taskArtifacts.bin dans mon cas était dans … ..Project\.gradle\2.2.1\taskArtifacts\taskArtifacts.bin car j'utilise gradle 2.2.1
    • Ensuite, cherchez storePassword comme @Moxet Khan dit dans les commentaires … dans mon cas était à la ligne signingConfig.storePassword¬í t my.forgoten.password—signingConfig.keyAlias

    J'espère aider quelqu'un d'autre !!!

    Zach Klippenstein sur Google+ a eu le même problème que vous. Vous pouvez suivre le fil ici .

    Après avoir passé presque une journée à rechercher les options possibles pour récupérer le mot de passe perdu dans Android Studio. J'ai trouvé les 4 façons possibles de le faire:

    1. Utilisez AndroidKeystoreBrute pour récupérer votre mot de passe. Cette méthode est très utile lorsque vous oubliez partiellement votre mot de passe signifie que vous avez toujours quelques conseils sur votre mot de passe.

    2. Vous pouvez également le récupérer via les fichiers journaux Studio Studio si vous avez déjà publié l'application (pour laquelle vous trouvez le mot de passe du magasin de clés) avec la même machine. Reportez-vous au répertoire suivant:

      Mac OS X

      ~ / Bibliothèque / Logs / AndroidStudio / idea.log.1

      Linux (Localisation possible)

      / Home / user_name / AndroidStudio / system / log

      Windows (Lieu possible)

      C: \ Users \ nom_utilisateur \ AndroidStudio \ system \ log

      Et recherchez Pandroid.injected.signing.key.password dans le fichier. Vous allez voir le mot de passe si vous avez précédemment signé l'application avec la même version de Android Studio dans laquelle vous recherchez actuellement.

    3. Vous pouvez également récupérer le mot de passe via le répertoire .gradle de votre projet. Recherchez le chemin suivant

      Project_directory / .gradle / 2.4 / taskArtifacts / taskArtifacts.bin.

      Remarque: Cela ne semble pas fonctionner pour les versions plus récentes de Gradle (2.10 et plus).

    4. Si aucune des solutions ci-dessus ne fonctionne, vous pouvez l'essayer, mais pour cela, vous devez également avoir une application Android Studio IDE ou des préférences dans lesquelles votre mot de passe de magasin principal a été sauvegardé plus tôt (Utilisation de l'option Remember Password au moment de la signature du Application). Vous pouvez obtenir les préférences IDE du chemin suivant:

      Mac OS X

      ~ / Bibliothèque / Logs / AndroidStudio / idea.log.1

      Linux (Localisation possible)

      / Home / user_name / AndroidStudio

      Windows (Lieu possible)

      C: \ user \ username \ .AndroidStudio

      Utilisez simplement l'IDE d'Android Studio plus ancien si vous avez ou importez les préférences de l'ancien IDE dans un nouvel IDE et mettez le fichier de magasin de clés dans le même chemin où il était précédemment lorsque vous l'avez signé et enregistrez le dernier mot de passe.

      De cette façon, une fois que vous ouvrez le projet et essayez l'option Build-> Generate Signed APK et sélectionnez le fichier keystore à partir de l'ancien emplacement. Il récupérera automatiquement le mot de passe et continuera à générer l'APK signé pour la publication.

      Une fois que la version APK génère avec succès, vous pouvez suivre l'option 2 mentionnée précédemment pour vérifier votre mot de passe de votre fichier journal pour l'APK de publication récemment générée.

    La force brute Android ne fonctionnera pas si vos deux mots de passe sont différents, donc la meilleure option pourrait être telle que recherchez le fichier nommé comme

    Log.idea

    Dans votre C: / users / votre compte nommé, vous pourriez trouver que dans le dossier Android ouvrir ce fichier lpg.idea dans le bloc-notes, puis rechercher

    alias

    En utilisant l'option de recherche dans le bloc-notes, vous constaterez que le mot de passe et les alias et les alias ont été affichés ici

    Pour résumer, il y a 3 réponses à cette question (et la solution n'est pas donnée par la réponse acceptée):

    1. Si vous avez vos journaux intacts, vous pouvez trouver le mot de passe dans les fichiers journaux Android Studio selon la réponse de Georgi Koemdzhiev ci-dessus.

    2. Vous pouvez récupérer le mot de passe du fichier 'taskArtifacts.bin' dans votre répertoire .gradle selon les réponses d'ElDoRado1239 et Gueorgui Obregon ci-dessus. Cela ne semble pas fonctionner pour les versions plus récentes de Gradle (2.10 et versions ultérieures).

    3. Utilisez AndroidKeystoreBrute pour deviner ou brute votre mot de passe selon la réponse de Srinivas Keerthiprakasam ci-dessus.

    Toutes ces 3 solutions sont traitées en profondeur sur ce lien .

    Dans mon cas, je recevais le nom d'alias mal, même si j'ai stocké le mot de passe correct. Je pensais donc que c'était le mauvais mot de passe (en utilisant le package ionique), alors j'ai utilisé cette commande pour obtenir le nom de l'alias

    Keytool -list -v -keystore

    Et j'ai pu utiliser le magasin de clés à nouveau!

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

    1er essayez de créer un nouveau magasin de clés … puis ouvrez taskArtifacts.bin avec un bloc-notes et recherchez le mot de passe que vous venez de donner …. vous pourrez trouver des mots près du mot de passe que vous venez de donner puis rechercher ces mots près de Votre mot de passe dans le même fichier … vous pourrez trouver le mot de passe ….. 🙂

    Pas besoin d'utiliser la force brute, un moyen simple est de trouver votre mot de passe en texte brut.

    aller à:

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

    Ouvrir:

     taskArtifacts.bin 

    Lorsque vous ouvrez taskArtifacts.bin peut sembler chiffré, ne vous inquiétez pas de cette recherche de ".keyPassword" quelques fois. Ensuite, vous trouverez votre mot de passe en texte brut. Cela peut ressembler à:

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

    J'espère que cela a été utile.

    J'ai trouvé le mot de passe dans

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

    Rechercher

     Pandroid.injected.signing.store.password 

    J'ai rencontré le même problème, j'ai essayé ci-dessous des étapes pour résoudre le problème:

    1. Créez un signe apk avec la création d'un magasin de clés et d'un nouveau mot de passe.

    2. Maintenant, créez de nouveau signer apk en utilisant votre ancien magasin de clés (magasin de clés utilisé au moment du téléchargement précédent de la compilation d'apk) mais utilisez maintenant un nouveau mot de passe de magasin de clés.

    3. Maintenant, vous allez créer avec succès signer apk en utilisant l'ancien magasin de clés.

      • J'espère que cette solution vous aidera ..

    Eh bien, pour rechercher le mot de passe de clé perdu, vous pouvez essayer cela. Pour moi, la solution suivante a fonctionné très bien.

    Trouvez les fichiers log d'idée dans ~/Library/Logs/AndroidStudio2.0 . Vous pouvez également les localiser en ouvrant Android Studio-> Help-> Show Log in File manager.

    Ouvrez le fichier idea.log . Remarque: Il peut y avoir plusieurs fichiers nommés idea.log.1 , idea.log.2 etc. Regardez chacun d'entre eux jusqu'à ce que vous trouviez le mot de passe.

    Recherchez “Pandroid.injected.signing.key.password” et vous pouvez voir le mot de passe de la clé.

    J'espère que cela aide…

    Rien ne fonctionnera, alors n'utilisez pas de méthodes pour récupérer tout ne sert à rien. La meilleure option est que vous devez soumettre à nouveau l'application avec une nouvelle clé et annuler la publication de l'ancienne application.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.