Comment gérer un mot de passe de KeyStore perdu dans Android?
j'ai oublié mon mot de passe keystore et je ne sais plus vraiment quoi faire (Je ne peux pas ou ne veux pas donner d'excuses pour cela). Je veux 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 keystore mais que je crée une nouvelle clé? Est-ce que je serais encore capable de 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 si vous rencontrez des problèmes, quels conseils pouvez-vous donner pour aider à remédier à la situation? Heureusement, il est une application gratuite.
29 réponses
voir ce lien
c'est malheureux, mais quand vous perdez votre keystore, ou le mot de passe de votre keystore, votre application est orpheline. La seule chose que vous pouvez faire est de soumettre votre application sur le marché sous une nouvelle clé.
Sauvegardez toujours votre keystore et écrivez les mots de passe dans un endroit sûr.
vient de rencontrer ce problème moi - même-heureusement, j'ai pu trouver le mot de passe dans le fichier temporaire D'un Grad. Juste au cas où quelqu'un atterrirait ici, essayez de chercher
..Project\.gradle.4\taskArtifacts\taskArtifacts.bin
il é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-couche et j'espère que vous trouverez quelque chose.
voulait le jeter ici, peut-être qu'il aidera quelqu'un.
dans le cas où un mot de passe erroné est fourni, même une seule fois, il n'arrête pas de dire sur les tentatives suivantes:
Keystore trafiqué ou mot de passe incorrect.
même si vous fournissez le bon. J'ai essayé plusieurs fois, peut-être que c'est une sorte de protection.
Fermez l'Assistant d'exportation et redémarrez avec le mot de passe correct, maintenant cela fonctionne:)
la 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 de passe pourrait inclure pour une récupération très rapide (pour moi, il a fonctionné dans <1 sec)
Sur un MAC lancer utilitaire de Console et défile vers le bas dans ~/Library/Logs -> AndroidStudio ->idée.journal.1 (ou tout ancien numéro de registre) Puis j'ai cherché "keystore" et il devrait apparaître quelque part dans les journaux.
question originale: lien
en fait, perdre keystore password
n'est pas un problème.
Vous pouvez créer un nouveau keystore et définir un nouveau mot de passe avec la commande keytool ci-dessous. Vous n'avez pas besoin du mot de passe original de keystore pour cela:
keytool -importkeystore -srckeystore path/to/keystore/with/forgotten/pw \
-destkeystore path/to/my/new.keystore
lorsqu'on vous le demande, créez le mot de passe pour votre new.keystore
et pour le mot de passe source de keystore (que vous lost) vient de cliquer sur Enter .
Vous obtiendrez avertissement sur l'intégrité pas vérifié, et vous obtiendrez votre nouveau.keystore identique à l'original avec le mot de passe nouvellement défini.
la raison pour laquelle cela fonctionne est keystore password
est seulement utilisé pour fournir l'intégrité de la keystore
, il ne chiffre pas les données avec elle, contrairement à private key password
, qui garde en fait votre clé privée cryptée.
veuillez noter que vous devez connaître votre private key password
pour signer vos applications. Eh bien, si c'est comme oublié keystore password
alors vous pouvez recourir à bruteforce comme dans la réponse de @Artur.
cette approche a toujours fonctionné pour moi.
je pense que j'ai besoin d'en faire une réponse parce que cela ne pouvait pas être seulement dans les commentaires. Comme @ElDoRado1239 dit dans sa réponse (n'oubliez pas de mettre en avant sa réponse ;)
- cherche
..Project\.gradle.4\taskArtifacts\taskArtifacts.bin
dans mon cas était dans..Project\.gradle.2.1\taskArtifacts\taskArtifacts.bin
parce que j'utilisegradle 2.2.1
- alors cherchez
storePassword
comme @Moxet Khan dit dans les commentaires...dans mon cas était à la lignesigningConfig.storePassword¬í t my.forgoten.password—signingConfig.keyAlias
Hope aider quelqu'un d'autre!!!
heureusement, j'ai trouvé mon mot de passe perdu avec le chemin de keystore et le nom d'alias de mes logs Android studio.
si vous utilisez des machines basées sur linux / Unix.
Accédez à la Bibliothèque de répertoire Logs
cd ~/Library/Logs/
si vous vous souvenez de votre version android studio que vous avez utilisé pour construire la dernière version APK. Naviguez vers ce répertoire
ex: cd AndroidStudio1.5 /
vous y trouverez les fichiers journaux. dans les fichiers journaux (idée.journal) vous trouverez vos justificatifs d'identité
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 cette aide pour Android Studio utilisateurs
pour toute autre personne qui pourrait courir à travers ceci, je voulais partager une réponse qui pourrait être le cas pour vous ou pour d'autres parcourant cet article (comme moi-même).
J'utilise Eclipse et j'ai créé mon keystore pour ma version 1.0. Avance rapide 3 mois et je voulais le mettre à jour 1.1. Quand j'ai choisi d'Exportation... dans Eclipse et a choisi ce keystore, aucun de mes mots de passe dont je me souviens n'a fonctionné. Chaque fois qu'il disait "Keystore trafiqué ou mot de passe incorrect." Il est arrivé à un point où j'ai été prêt à exécuter une attaque par force brute programme pour aussi longtemps que je pourrais supporter (une semaine) pour essayer de le faire fonctionner.
heureusement, je dois signer mon non signé .dossier apk en dehors D'Eclipse. Voila, cela a fonctionné! Mon mot de passe était correct depuis le début! Je ne sais pas pourquoi, mais le fait de le signer dans Eclipse à travers le menu D'exportation signalait une erreur même lorsque mon mot de passe était correct.
donc, si vous obtenez cette erreur, voici mes étapes (prises à partir de Android documentation ) pour vous aider à obtenir votre apk prêt pour le marché.
REMARQUE: Pour obtenir unsigned apk à partir d'Eclipse: clic Droit sur le projet > Android Outils > Exporter Application non signée
-
Signe unsigned apk fichier keystore
A. ouvrez l'invite cmd de l'administrateur et allez à "c:\Program Fichiers\Java\jdk1.6.0_25\bin "ou n'importe quelle version de java que vous avez (où vous avez copié le fichier apk non signé et votre keystore)
B. à l'invite cmd avec le fichier keystore et apk non signé dans le même répertoire, tapez cette commande: jarsigner-keystore mykeystorename.keystore-verbose non signé.apk myaliasnamefromkeystore
C. il dira:"entrez Passphrase pour keystore:". Entrez-le et appuyez sur la touche Retour.
D. = = = > 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é
-
utiliser ZipAlign pour compacter le fichier apk signé pour la distribution sur le marché
A. ouvrez l'invite admin cmd et allez à "c:\AndroidSDK\tools "ou là où vous avez installé le SDK Android
B. entrez cette commande: zipalign-v 4 signer.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
D. le fichier signé et aligné est à signedaligned.apk (le nom de fichier que vous avez spécifié dans la commande précédente)
========> PRÊT À SE SOUMETTRE À UNE PLACE DE MARCHÉ, 151930920"
après avoir passé presque une journée à rechercher les options possibles pour récupérer le mot de passe keystore perdu dans Android Studio. J'ai trouvé les 4 façons possibles de le faire:
-
utilisez AndroidKeystoreBrute pour récupérer votre mot de passe. Cette méthode est très utile lorsque vous avez partiellement oublié votre mot de passe signifie que vous avez encore quelques indices de votre mot de passe dans votre esprit.
-
vous pouvez également le récupérer par les fichiers journaux Android Studio si vous avez déjà publié l'application(pour lequel vous trouvez le mot de passe keystore) avec la même machine. Se référer au répertoire suivant:
Mac OSX
~/Library/Logs/AndroidStudio ou de l'idée.journal.1
Linux (Localisation Possible)
/home/nom_utilisateur/AndroidStudio/système/journal
Fenêtres (Emplacement Possible)
C:\Users\user_name\AndroidStudio\system\log
et rechercher
Pandroid.injected.signing.key.password
dans le fichier. Vous allez voir le mot de passe si vous avez déjà signé l'application avec la même version Android Studio dans laquelle vous cherchez actuellement. -
vous pouvez également récupérer le mot de passe à travers .répertoire grad de votre projet. Cherchez le chemin suivant
project_directory/.gradle / 2.4/taskArtifacts / taskArtifacts.bac.
Note: cela ne semble pas fonctionner pour les nouvelles versions de Gradle (2.10 et plus).
-
si aucune des solutions ci-dessus ne fonctionne, vous pouvez essayer celui-ci, mais pour celui-ci aussi, vous devez avoir Android Studio IDE app ou ses préférences dans lequel votre mot de passe de keystore projet ont été enregistrés plus tôt (en utilisant L'option Se souvenir mot de passe au moment de la signature de l'application). Vous pouvez obtenir les préférences IDE à partir du chemin suivant:
Mac OSX
~/Library/Logs/AndroidStudio ou de l'idée.journal.1
Linux (Possible Lieu)
/home/nom_utilisateur/AndroidStudio
Fenêtres (Emplacement Possible)
c:\user\username\.AndroidStudio
utilisez simplement L'IDE Android Studio plus ancien si vous avez ou importez les préférences de l'ancienne IDE dans la nouvelle IDE et aussi mettre le fichier keystore dans le même chemin où il était auparavant quand vous l'avaient signée et enregistrer le mot de passe comme la dernière fois.
de cette façon une fois que vous ouvrez le projet et essayez le 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ée pour la libération.
une fois que la version APK génère avec succès, vous pouvez suivre l'option 2 mentionnée plus haut pour vérifier votre mot de passe à partir de votre fichier journal pour la version récemment générée APK.
premier téléchargement AndroidKeystoreBrute_v1.05.pot à suivre l'image donnée.
préparer un wordlistfile comme(liste de mots.txt), dans ce fichier donner votre indice comme
Indice De Mot De Passe:
utilisateurs
utilisateurs
mot de passe
mot de passe
pa55word
mot de passe
@
*
#
$
&
1
2
123
789
vous obtiendrez votre mot de passe.
il peut être un peu tard, mais il aidera quelqu'un à coup sûr Vous pouvez rechercher mot de passe si vous vous souvenez de quelque chose d'autre essayer de recherche comme
signingConfig.stepassword
aussi, si vous avez oublié la clé alias vous pouvez trouver ici aussi rechercher quelque chose comme signingConfig.keyAlias
Projet.Grad\3.3\taskArtifacts\taskArtifacts.bin
j'Espère que ça aidera quelqu'un
Zach Klippenstein sur Google+ avait le même problème que vous. Vous pouvez suivre le fil ici .
Android brute force ne fonctionnera pas si vos deux les mots de passe sont différents donc la meilleure option pourrait être comme cela essayer de trouver le fichier nommé comme
du journal.idea
dans votre C:/users/your compte nommé ensuite, vous pourriez trouver que là dans le dossier android ouvrir ce fichier lpg.idea dans le bloc-notes et ensuite rechercher
alias
en utilisant l'option find dans notepad vous trouverez que le mot de passe et alias et alias passwors a été montré là
j'ai trouvé le mot de passe dans
C:\Users\{Username}\.AndroidStudio2.2\system\log\idea.txt
recherche de
Pandroid.injected.signing.store.password
j'ai eu le même problème à la fois.
Même si avec la signature D'application par Google Play, perdre keystore ou son mot de passe n'est pas une grosse affaire comme plus tôt, toujours en tant que développeur, nous préférons changer son mot de passe et utiliser un fichier généré keystore sans attendre quelques jours pour google de gérer.
( Pour traiter ce problème avec google utiliser ce lien pour faire une demande)
Pour traiter cette question par nous-mêmes,
Premier téléchargement deux .les fichiers java à partir de ce lien .
Ensuite compiler le ChangePassword.java par la commande javac ChangePassword.java
.
Puis après vous pouvez courir
java ChangePassword <oldKeystoreFileName.keystore> <newKeystoreFileName.keystore>
Change oldKeystoreFileName.keystore avec le chemin/ nom de votre fichier keystore actuel, et newKeystoreFileName.keystore avec chemin/nom pour le nouveau fichier keystore généré. Cela vous encouragera à
Entrez le mot de passe du keystore:
. Il suffit d'entrer ce que vous préférez :) pas besoin d'être à l'origine mot de passe perdu. Puis entrez le nouveau mot de passe avec *
nouveau mot de passe de keystore:
- voilà. Cela ne changera pas le checksum de votre keystore et ne posera aucun problème lors de l'inscription ou du téléchargement de l'application pour jouer.google événements.
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):
-
si vous avez vos logs intacts, alors vous pouvez trouver le mot de passe dans les fichiers de log D'Android Studio selon Georgi Koemdzhiev réponse ci-dessus.
-
vous pouvez récupérer le mot de passe à partir des 'taskArtifacts.bin fichier dans votre .répertoire Grad conformément au ElDoRado1239 et Gueorgui Obregon Réponses ci-dessus. Cela ne semble pas fonctionner pour les nouvelles versions de Gradle (2.10 et ci-dessus).
-
utilisez AndroidKeystoreBrute pour deviner ou bruteforce votre mot de passe selon Srinivas Keerthiprakasam réponse ci-dessus.
toutes ces 3 solutions sont couvertes en profondeur à ce link .
dans mon cas, je me trompais de nom d'alias, même si j'avais le bon mot de passe. Donc j'ai pensé que c'était le mauvais mot de passe (en utilisant le paquet ionique) donc j'ai utilisé cette commande pour obtenir le nom d'alias
keytool-list-v-keystore
et j'ai pu utiliser le keystore à nouveau!
C:\Users\admin\AndroidStudioProjects\TrumpetTVChannel2.Grad\2.14.1\taskArtifacts\taskArtifacts.bin
1er essayez de créer un nouveau fichier de stockage des clés....alors ouvrez taskArtifacts.bin avec bloc-notes et cherchez 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 serez en mesure de trouver le mot de passe.....:)
finalement j'ai trouvé la solution après avoir passé deux jours...
suivez ces étapes:
- Aller à projet
- In .gradle trouver votre dossier de version gradle dans mon cas il était 4.1 (Refer pic)
- étendre le dossier 4.1 et puis dans le dossier taskHistory vous trouverez taskHistory.fichier bin.
- Open taskHistory.bin fichier dans android studio lui-même.
- Rechercher ".storePassword".. C'est ça que vous avez obtenu votre mot de passe du fichier de clés.
Cela a vraiment fonctionné pour moi.
essayez ceci et happy coding!!!
ajoutant ceci comme une autre possibilité. La réponse peut être juste sous votre nez -- dans votre application construire.fichier gradle si vous avez spécifié une configuration de signature à un moment donné dans le passé:
signingConfigs {
config {
keyAlias 'My App'
keyPassword 'password'
storeFile file('/storefile/location')
storePassword 'anotherpassword'
}
}
vous sentez-vous chanceux?!
pas besoin d'utiliser la force brute une façon simple est de trouver votre mot de passe en clair.
goto:
C:\Users\<your username>\AndroidStudioProjects\WhatsAppDP\.gradle.2.1\taskArtifacts
ouvert:
taskArtifacts.bin
quand vous ouvrez taskArtifacts.bin peut sembler crypté, ne vous inquiétez pas de cette recherche pour ".keyPassword" une couple de fois. Ensuite, vous trouverez votre mot de passe en texte clair. Elle peut ressembler à:
signingConfig.keyPassword¬í t <your password>Æù
Espère que cela a été utile.
Eh bien pour chercher le mot de passe de keystore perdu vous pouvez essayer cela, pour moi la solution suivante a fonctionné assez bien.
trouvez les fichiers log d'idée dans ~/Library/Logs/AndroidStudio2.0
. Vous pouvez également trouver ces en ouvrant Android Studio-> Aide->Afficher le Journal dans le gestionnaire de Fichiers.
ouvrir le fichier idea.log
. Note: il peut y avoir plusieurs fichiers nommés idea.log.1
, idea.log.2
, etc. Cherchez dans chacun d'eux jusqu'à ce que vous trouviez le mot de passe.
recherche pour “Pandroid.injected.signing.key.password”
et vous pouvez voir le mot de passe clé.
J'espère que ça aidera...
j'ai connu le même problème, j'ai essayé les étapes ci-dessous pour résoudre le problème :-
-
" créez un nouveau clavier et un nouveau mot de passe.
-
maintenant, créez à nouveau sign apk en utilisant votre ancien keystore (keystore utilisé au moment du téléchargement précédent apk build), mais utilisez maintenant nouveau mot de passe keystore.
-
maintenant certainement, vous allez créer signez apk avec succès en utilisant le vieux keystore.
- espérons que cette solution vous aidera..
dans mon cas, j'avais mis à jour mon studio Android de 2.3 à 3.0.1, quand j'ai essayé de générer un apk signé pour une nouvelle mise à jour, j'ai obtenu" Keystore a été altéré avec, ou mot de passe était incorrect " erreur. J'avais mon précédent keystore et j'étais absolument sûr du mot de passe, en les utilisant j'avais mis à jour l'application avant quelques fois. Après beaucoup de recherches, aucune des solutions n'a fonctionné pour moi. Voici ce que j'ai fait.
- a ouvert un autre projet.
- Importé mon projet à l'aide du Fichier/Nouveau/Projet d'Importation
- une fois gradle construit, j'ai essayé de générer une apk signée. Construire / générer APK signé
- a cliqué sur" Choisir existant " et a fourni le chemin vers mon keystore.
- tapé dans mon mot de passe de magasin de clés
- a sélectionné l'alias clé
- tapé dans mon mot de passe clé (dans mon cas, les deux mots de passe key store et key password sont les mêmes)
- a cliqué suivant et a fourni le chemin pour la nouvelle Apk et a vérifié les deux cases à cocher.
- Nouvelle APK ai généré avec succès.
Espérons que cela aide quelqu'un.
si rien ne fonctionne essayez cette ligne. Déplacer vers le chemin où .jks est stocké. Exécutez cette commande dans l'invite de commande. Il demandera le mot de passe, l'ignorera et pressera enter.
keytool -list -keystore sample.jks
les gens ne donnent pas toujours un mot de passe à un keystore, choisissant de le laisser vide à la place. Essayez D'appuyer sur Entrée pour le mot de passe, ça a marché pour moi dans ce scénario.
SOLUTION 2018 : Signe application avec le nouveau fichier de magasin de clés si vous le mot manquant ou fichier jks.
1) Créer un nouveau fichier de stockage des clés.fichier jks avec la ligne comand (pas le menu de construction de studio android)
keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks
exemple de 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) générer un .fichier pem de New keystore
keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks
exemple de 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) Utilisez cette forme de support, mettez" problème de keystore " et avec la pièce jointe ajouter .fichier pem: https://support.google.com/googleplay/android-developer/contact/otherbugs
4) 12-48h Votre nouveau clavier est activé. Mettre à jour votre application sur playstore avec la nouvelle apk signé avec la nouvelle keystore: d
rien ne vous fonctionnera donc s'il vous plaît n'utilisez aucune méthode pour récupérer tous sont d'aucune utilité la meilleure option est que vous devez soumettre de nouveau l'application avec une nouvelle clé et de ne pas publier l'ancienne application