J'ai perdu mon fichier .keystore?

87

Ok les gens ... pour faire court, je développais sur un ordinateur auquel je n'ai plus accès. J'ai pu récupérer le code source, mais pas le fichier .keystore utilisé pour signer et publier mon application sur le marché (avec plusieurs mises à jour). Suis-je, ainsi que mes pauvres utilisateurs, pas de chance si je veux un jour mettre à jour?

Je connais le mot de passe utilisé pour signer la clé (au moins c'est l'un des trois), puis-je en créer un autre? Il doit y avoir un moyen de contourner ce problème ... qu'en est-il d'une panne de disque dur?

eportermd
la source
14
S'il y avait un moyen de contourner cela, cela irait à l'encontre de l'objectif de sécurité qu'il est censé servir!
Santa
2
Vérifiez cette réponse C'est maintenant possible.
Développeur Vicky

Réponses:

79

Face au même problème. J'essayais de le restaurer via des outils de restauration de fichiers supprimés, mais cela a échoué. Il n'y a donc pas d'autre moyen: vous devez lancer une autre application.

Généralement, le seul conseil qui existe sur les keystores: "toujours sauvegarder!"

Vladimir Ivanov
la source
1
J'ai fait face à cela et j'ai dû rééditer une nouvelle version de mon application. Depuis, toutes mes clés sont sur Dropbox.
Varun
Après la mise à jour vers Android Studio 3.3, mon ancien keystore n'est plus accepté lors de la signature de l'application. Le message d'erreur "Impossible de récupérer la clé" s'affiche.
Yar
55

Maintenant, il est possible ne vous inquiétez pas, voici les étapes complètes et finales pour réinitialiser le fichier .JKS.

Je repose avec succès ma CLÉ

Étape 1

Téléchargez le CERTIFICAT DE TÉLÉCHARGEMENT (nom du fichier - upload_cert.der ) depuis votre console Google Play Store

pour télécharger le fichier upload_cert.der

Étape 2

Accédez à ce LINK https://support.google.com/googleplay/android-developer/contact/otherbugs Et remplissez le formulaire de candidature avec votre identifiant de messagerie valide et téléchargez le fichier (upload_cert.der).

Remplissez le formulaire de candidature

Étape 3

Maintenant, vous recevrez l'e-mail de l'équipe d'assistance, et ils n'ont pas besoin de votre fichier .JKS, mais le fichier .PEM est l'exemple d'e-mail.

entrez la description de l'image ici

Étape 4

pour convertir un fichier .JKS en fichier .PEM, il vous suffit de télécharger KeyStore Explorer JKS à PEM

Après avoir répondu au courrier, attendez 48 à 72 heures pour que le remplissage de votre keystore soit réinitialisé.

Développeur Vicky
la source
6
Que faire si la connexion à l'application Google Play n'est pas activée pour une application?
Vipul Behl
Rien de trouvé à part ça. Google a officiellement annoncé la nouvelle technique de signature d'applications Android au mois de mai 2017.
Développeur Vicky
1
à l'étape 3. ai-je besoin de créer un nouveau fichier jks et de le convertir en fichier pem et de l'envoyer en tant que courrier de repaly. est-ce que cette étape est correcte ???
giveJob
1
oui, vous devez créer un nouveau fichier JSK et le convertir en PEM @HemanthSP
Développeur Vicky
oui, je l'ai fait, et maintenant mon nouveau keystore est éligible pour le téléchargement, j'ai confirmé google mail
giveJob
35

Jusqu'à aujourd'hui, perdre votre clé rendrait impossible la mise à jour de votre application avec une nouvelle version. Dans de tels cas, la seule solution était de publier une nouvelle application, avec un nouveau nom de package et une nouvelle clé, et de demander à tous vos utilisateurs de l'installer.

À partir d'aujourd'hui, la clé de signature d'applications dans la console Play est désormais gérée en toute sécurité par Google Play, ce qui signifie que vous êtes uniquement responsable de la gestion de votre clé de téléversement. Si votre clé de téléversement est compromise ou perdue, l'équipe des opérations pour les développeurs de Google peut vous aider en vérifiant votre identité et en réinitialisant votre clé de téléversement. Google se reconnectera toujours avec la même clé de signature d'application, ce qui permettra à l'application de se mettre à jour comme d'habitude.

Pour les applications existantes , il faut transférer votre clé de signature d'application sur Google Play. Pour les nouvelles applications , Google peut générer votre clé de signature d'applications. Une fois inscrit à la signature d'applications, vous signez votre APK avec une clé d'importation, que Google utilise pour authentifier votre identité. Ils retireront ensuite cette signature et signeront à nouveau votre application avec la clé de signature de l'application.

Référence: Aide de la console Play> Gérer vos clés de signature d'applications

aygul
la source
13

C'est possible pendant longtemps.

  1. Suivez les instructions du centre d'aide Android Studio pour générer une nouvelle clé. Elle doit être différente de toutes les clés précédentes. Vous pouvez également utiliser la ligne de commande suivante pour générer une nouvelle clé:

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

Cette clé doit être une clé RSA de 2 048 bits et avoir une validité de 25 ans.

  1. Exportez le certificat de cette clé au format PEM:

keytool -export -rfc -alias newalias -file upload_certificate.pem -keystore nameofkeystore.jks

Ensuite, téléchargez ce fichier pem et remplissez le formulaire et soumettez-le à ce site . Et puis vous recevrez un e-mail une fois que nous avons enregistré la nouvelle clé de téléchargement. Accepte uniquement les demandes de réinitialisation de clé du propriétaire du compte Play Console .

Tout va bien. Vous pouvez publier une nouvelle version apk avec votre nouveau fichier jks.

ksgngrkn
la source
2
Cela ne fonctionne que si la signature d'applications Google Play est activée.
Sumit
non . il n'est pas nécessaire de signer une application Google Play. au moins je ne l'activerai pas.
ksgngrkn
Est-ce documenté quelque part?
Sumit
Cela ne fonctionne que pour les applications de signature d'applications. Je viens de confirmer.
Euridice01 le
11

Si vous connaissez le mot de passe de votre keystore, vous ne disposez toujours pas de la clé privée associée pour signer votre application. Vous n'avez également aucune chance de générer la même clé privée qui correspond à votre clé publique.

Par conséquent: sauvegardez toujours votre fichier de clés. C'est aussi important que votre code source.

saxos
la source
1
Donc, si j'ai bien compris, cette clé privée est générée aléatoirement par keystore, non? Et la seule chose que nous connaissons est la clé publique, n'est-ce pas?
iCantSeeSharp
Si vous disposez d'un accès autorisé au fichier de clés, vous pouvez également exporter la clé privée et l'importer dans d'autres fichiers de clés ou services.
saxos
Est-il idéal pour stocker votre fichier de keystore et vos clés avec votre dépôt?
Neon Warge
3

Si vous avez activé la signature de l'application Google Play pour votre application, ne vous inquiétez pas.

Pour vérifier si la signature de l'application Google Play est activée, accédez à Gestion des versions -> Signature d'application, dans votre console Google Play.

S'il est activé, vous pouvez contacter l'assistance Google Play en remplissant le formulaire d'assistance ou vous pouvez également opter pour le chat en direct avec un personnel d'assistance ici: https://support.google.com/googleplay/android-developer/answer/7218994? hl = en

Expliquez-leur votre problème et ils vous indiqueront les étapes suivantes, notamment la création d'un nouveau magasin de clés RSA 2048 bits avec une validité de 25 ans, l'exportation de la clé au format PEM et son envoi par courrier électronique.

Pour exporter la clé au format PEM:

keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks
Harsh Savergaonkar
la source
Cela devrait être la bonne réponse.
Caio Santos
2

Depuis de longues journées, je cherche également une solution pour cela, mais pas avec succès jusqu'à présent. Si vous disposez de la dernière version de l'apk de votre application, vous pouvez récupérer des certificats à partir de celle-ci à l'aide de la commande jarsigner cmd. Mais vous avez besoin d'une clé privée pour la mise à jour. Google Play n'a fourni aucune relaxation pour cela.

Ranjit Chandel
la source
3
avez-vous plus d'informations sur la façon de procéder?
Zabs
1

J'ai généré l'apk signé en utilisant Android Studio, donc dans le " Key Store Path ", je viens de taper un nom sans extension, et remplissez cette fenêtre contextuelle et signé l'application. entrez la description de l'image ici

la prochaine fois pour publier l'application, je ne me souviens plus du chemin et du nom où elle a été créée.

en quelque sorte, je trouve l'emplacement par défaut qui est "C: \ Program Files \ Java \ jdk1.8.0_45 \ jre \ bin": \ jre \ bin

et dans ce dossier court par date, puis j'ai essayé avec un fichier récent et cela a fonctionné pour moi.

Remarque: vous devez vous souvenir du mot de passe du magasin de clés et du mot de passe de la clé.

Murari Kumar
la source
0

Il doit y avoir un moyen de contourner ce problème ... qu'en est-il d'une panne de disque dur?

Je voudrais ajouter que toujours conserver une sauvegarde du keystore dans le stockage en nuage comme Google Drive, Dropbox ou l'envoyer par courrier électronique.

Yogesh Umesh Vaity
la source
Bien sûr, il existe des moyens de contourner ce problème, c'est simplement que Google ne le fera pas. Windows Store (même si personne ne l'utilise) vous permet de vous connecter des applications à partir de Visual Studio (il vous suffit d'être connecté avec votre compte de magasin), puis de les télécharger facilement dans le magasin. Google--; Microsoft ++;
Juan Carlos
0

Oui, vous pouvez publier une mise à jour de l'application existante avec une nouvelle clé!

Google vous permet désormais de télécharger la nouvelle clé dans l'application existante en leur demandant de la réinitialiser par e-mail / chat en direct dans l'assistance Google.

Ce processus prend 1 à 2 jours ouvrables.

J'ai suivi ce processus et téléchargé une mise à jour sur la même application avec une nouvelle clé. L'équipe technique du Google Play Store m'a aidé à réinitialiser la clé précédente.

Zair Abbas
la source
0

C'est possible maintenant, après mai 2017, vous pouvez mettre à jour votre application si vous avez perdu votre mot de passe de keystore ou keystore. Vous ne pouvez pas récupérer votre keystore perdu mais vous pouvez le remplacer sur Playstore. Cliquez ici

Processus de signature de l'application:

Vous pouvez importer des fichiers APK signés avec la clé de signature d'application d'origine avant ou après avoir activé la signature d'applications par Google Play.

Si vous commencez à utiliser des bundles d'applications Android, vous pouvez les tester dans des pistes de test pendant que vous utilisez votre APK existant en production. Voici comment fonctionne le processus:

  1. Signez votre ensemble d'applications ou votre APK et importez-le dans votre Play Console.
  2. En fonction de ce que vous téléchargez, voici en quoi le processus de signature diffère:

    • Ensemble d'applications: Google génère des fichiers APK optimisés à partir de votre ensemble d'applications et les signe avec la clé de signature d'applications.
    • APK signé avec la clé d'importation: Google vérifie et supprime votre signature de l'APK, puis résigne l'APK avec la clé de signature d'application.
    • APK signé avec la clé de signature d'application: Google vérifie la signature. Google fournit des APK signés aux utilisateurs.
Parmita Koradiya
la source