Ich habe meine .keystore-Datei verloren?


87

Ok Leute ... lange Rede, kurzer Sinn, ich habe auf einem Computer entwickelt, auf den ich keinen Zugriff mehr habe. Ich konnte den Quellcode abrufen, aber nicht die .keystore-Datei, mit der meine Anwendung signiert und auf dem Markt veröffentlicht wurde (mit mehreren Updates). Habe ich und meine armen Benutzer kein Glück, wenn ich jemals ein Update durchführen möchte?

Ich kenne das Passwort, mit dem der Schlüssel signiert wurde (zumindest ist es eines von drei). Kann ich also ein anderes erstellen? Es muss einen Weg geben, dies zu umgehen. Was ist mit einem Festplattenausfall?


14
Wenn es war ein Weg , um es, würde es die ganze Sicherheit Zweck vereiteln es soll dienen!
Santa

Antworten:


79

Konnte das gleiche Problem. Ich habe versucht, es über gelöschte Dateien wiederherzustellen, die Tools wiederherstellen, aber es ist fehlgeschlagen. Es gibt also keinen anderen Weg: Sie sollten eine andere Anwendung ausstellen.

Im Allgemeinen der einzige Hinweis, der auf Keystores existiert: "Immer sichern!"


1
Ich habe mich dem gestellt und musste eine neue Version meiner App neu herausgeben. Seitdem sind alle meine Schlüssel auf Dropbox.
Varun

Nach dem Update auf Android Studio 3.3 wird mein alter Keystore beim Signieren der App nicht mehr akzeptiert. Die Fehlermeldung "Schlüssel kann nicht wiederhergestellt werden" wird angezeigt.
Yar

55

Jetzt ist es möglich, keine Sorge, hier sind die vollständigen und letzten Schritte zum Zurücksetzen der .JKS-Datei.

Ich ruhe meinen SCHLÜSSEL erfolgreich aus

Schritt 1

Laden Sie das UPLOAD-ZERTIFIKAT (Dateiname - upload_cert.der ) von Ihrer Google Play Store-Konsole herunter

um die Datei upload_cert.der herunterzuladen

Schritt 2

Gehen Sie zu diesem LINK https://support.google.com/googleplay/android-developer/contact/otherbugs und füllen Sie das Antragsformular mit Ihrer gültigen E-Mail-ID aus und laden Sie die Datei hoch (upload_cert.der).

Füllen Sie das Antragsformular aus

Schritt 3

Jetzt erhalten Sie die E-Mail vom Support-Team, das Ihre .JKS-Datei nicht benötigt. Die .PEM-Datei ist hier das E-Mail-Beispiel.

Geben Sie hier die Bildbeschreibung ein

Schritt 4

Um die JKS-Datei in eine PEM-Datei zu konvertieren, müssen Sie nur den KeyStore Explorer herunterladen JKS zu PEM

Warten Sie nach dem Beantworten der E-Mail 48 bis 72 Stunden, bis der Keystore gefüllt ist.


6
Was passiert, wenn die Google Play App-Anmeldung für eine App nicht aktiviert ist?
Vipul Behl

Nichts außer ihm gefunden. Google kündigte offiziell die neue Android App Signing-Technik im Monat Mai 2017.
Entwickler Vicky

1
in schritt 3. muss ich eine neue jks datei erstellen und in eine pem datei konvertieren und diese als repaly mail an sie senden. Ist dieser Schritt richtig ???
GiveJob

1
Ja, Sie müssen eine neue JSK-Datei erstellen und in PEM @HemanthSP
Developer Vicky

Ja, das habe ich getan, und jetzt kann mein neuer Keystore hochgeladen werden. Ich habe die Bestätigung von Google Mail erhalten
giveJob

35

Bis heute wäre es durch den Verlust Ihres Schlüssels unmöglich, Ihre App mit einer neuen Version zu aktualisieren. In solchen Fällen bestand die einzige Lösung darin, eine neue App mit einem neuen Paketnamen und Schlüssel zu veröffentlichen und alle Benutzer zu bitten, sie zu installieren.

Ab heute wird der App-Signaturschlüssel in der Play Console jetzt sicher von Google Play verwaltet, sodass Sie nur noch für die Verwaltung Ihres Upload-Schlüssels verantwortlich sind. Wenn Ihr Upload-Schlüssel kompromittiert ist oder verloren geht, kann das Entwicklerteam von Google helfen, indem es Ihre Identität überprüft und Ihren Upload-Schlüssel zurücksetzt. Google wird weiterhin mit demselben App-Signaturschlüssel neu signieren, sodass die App wie gewohnt aktualisiert werden kann.

Für vorhandene Apps muss Ihr App-Signaturschlüssel an Google Play übertragen werden. Für neue Apps kann Google Ihren App-Signaturschlüssel generieren. Sobald Sie sich für die App-Signatur angemeldet haben, signieren Sie Ihre APK mit einem Upload-Schlüssel, mit dem Google Ihre Identität authentifiziert. Anschließend entfernen sie diese Signatur und signieren Ihre App mit dem App-Signaturschlüssel erneut.

Referenz: Play Console-Hilfe> Verwalten der App-Signaturschlüssel


13

Es ist schon lange möglich.

  1. Befolgen Sie die Anweisungen in der Android Studio-Hilfe , um einen neuen Schlüssel zu generieren. Es muss sich von allen vorherigen Schlüsseln unterscheiden. Alternativ können Sie die folgende Befehlszeile verwenden, um einen neuen Schlüssel zu generieren:

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

Dieser Schlüssel muss ein 2048-Bit-RSA-Schlüssel sein und eine Gültigkeit von 25 Jahren haben.

  1. Exportieren Sie das Zertifikat für diesen Schlüssel in das PEM-Format:

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

Laden Sie dann diese PEM-Datei hoch, füllen Sie das Formular aus und senden Sie es an diese Site . Und dann erhalten Sie eine E-Mail, sobald wir den neuen Upload-Schlüssel registriert haben. Akzeptiert nur Schlüsselrücksetzanforderungen vom Besitzer des Play Console-Kontos .

Alles schön und gut. Sie können neue Release-Apk mit Ihrer neuen JKS-Datei veröffentlichen.


2
Dies funktioniert nur, wenn Sie Google Play App Signing aktiviert haben.
Summe

Nein . Google Play App Signing ist nicht erforderlich. Zumindest aktiviere ich es nicht.
ksgngrkn

Ist das irgendwo dokumentiert?
Summe

Dies funktioniert nur für App-Signatur-Apps. Ich habe es gerade bestätigt.
Euridice01

11

Wenn Sie Ihr Keystore-Passwort kennen, verfügen Sie immer noch nicht über den zugehörigen privaten Schlüssel zum Signieren Ihrer App. Sie haben auch keine Möglichkeit, denselben privaten Schlüssel zu generieren, der Ihrem öffentlichen Schlüssel entspricht.

Deshalb: Sichern Sie immer Ihre Keystore-Datei. Es ist genauso wichtig wie Ihr Quellcode.


1
Wenn ich das richtig verstanden habe, wird dieser private Schlüssel zufällig pro Schlüsselspeicher generiert, oder? Und das einzige, was wir wissen, ist der öffentliche Schlüssel, richtig?
iCantSeeSharp

Wenn Sie einen autorisierten Zugriff auf den Schlüsselspeicher haben, können Sie den privaten Schlüssel auch exportieren und in andere Schlüsselspeicher oder Dienste importieren.
Saxos

Ist es ideal, Ihre Keystore-Datei und Schlüssel zusammen mit Ihrem Repo zu speichern?
Neon Warge

3

Wenn Sie die Google Play App-Signatur für Ihre Anwendung aktiviert haben, müssen Sie sich keine Sorgen machen.

Um zu überprüfen, ob die Google Play App-Signatur aktiviert ist, gehen Sie in Ihrer Google Play-Konsole zu Release-Verwaltung -> App-Signierung.

Wenn diese Option aktiviert ist, können Sie sich über das Support-Formular an den Google Play-Support wenden. Sie können sich auch für den Live-Chat mit einem Support-Mitarbeiter hier entscheiden: https://support.google.com/googleplay/android-developer/answer/7218994? hl = en

Erklären Sie ihnen Ihr Problem und sie werden Ihnen die nächsten Schritte erläutern, darunter das Erstellen eines neuen 2048-Bit-RSA-Keystores mit einer Gültigkeit von 25 Jahren, das Exportieren des Schlüssels in das PEM-Format und das Versenden per E-Mail an sie.

So exportieren Sie den Schlüssel in das PEM-Format:

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

Dies sollte die richtige Antwort sein.
Caio Santos

2

Seit langem suche ich auch eine Lösung dafür, aber bisher nicht erfolgreich. Wenn Sie die letzte Version Ihrer App apk haben, können Sie mit dem Befehl jarsigner cmd Zertifikate daraus abrufen. Für die Aktualisierung benötigen Sie jedoch einen privaten Schlüssel. Google Play hat dafür keine Entspannung geboten.


3
Haben Sie weitere Informationen dazu?
Zabs

1

Ich habe die signierte apk mit android studio generiert, also habe ich im " key Store Path " nur einen Namen ohne Erweiterung eingegeben, dieses Popup ausgefüllt und die Anwendung signiert. Geben Sie hier die Bildbeschreibung ein

Beim nächsten Veröffentlichen der Anwendung erinnere ich mich nicht an den Pfad und den Namen, in dem sie erstellt wurde.

Irgendwie finde ich den Standardspeicherort "C: \ Programme \ Java \ jdk1.8.0_45 \ jre \ bin": \ jre \ bin

und in diesem Ordner kurz nach Datum, dann habe ich es mit der letzten Datei versucht und es hat bei mir funktioniert.

Hinweis: Sie sollten sich das Kennwort für den Schlüsselspeicher und das Kennwort für den Schlüssel merken.


0

Es muss einen Weg geben, dies zu umgehen. Was ist mit einem Festplattenausfall?

Ich möchte hinzufügen, dass Sie immer eine Sicherungskopie des Keystores im Cloud-Speicher wie Google Drive, Dropbox oder per E-Mail an sich selbst aufbewahren.


Natürlich gibt es Möglichkeiten, dies zu umgehen. Google wird es einfach nicht tun. Mit Windows Store (auch wenn niemand es verwendet) können Sie Ihre Apps in Visual Studio signieren (Sie müssen nur mit Ihrem Store-Konto angemeldet sein) und können dann problemlos in den Store hochgeladen werden. Google--; Microsoft ++;
Juan Carlos

0

Ja, Sie können ein Update für eine vorhandene App mit einem neuen Schlüssel veröffentlichen!

Mit Google können Sie den neuen Schlüssel jetzt in eine vorhandene App hochladen, indem Sie sie auffordern, ihn per E-Mail / Live-Chat im Google-Support zurückzusetzen.

Dieser Vorgang dauert 1-2 Werktage.

Ich folgte diesem Vorgang und lud ein Update mit einem neuen Schlüssel auf dieselbe App hoch. Das technische Team des Google Play Store hat mir geholfen, den vorherigen Schlüssel zurückzusetzen.


0

Es ist jetzt möglich. Nach Mai 2017 können Sie Ihre App aktualisieren, wenn Sie Ihren Keystore oder Ihr Keystore-Passwort verloren haben. Sie können Ihren verlorenen Keystore nicht wiederherstellen, aber Sie können den Keystore im Playstore ersetzen. Hier klicken

App-Signaturprozess:

Sie können APKs hochladen, die mit dem ursprünglichen App-Signaturschlüssel signiert sind, bevor oder nachdem Sie sich für die App-Signatur von Google Play entschieden haben.

Wenn Sie anfangen, Android App Bundles zu verwenden, können Sie diese in Testspuren testen, während Sie Ihre vorhandene APK in der Produktion verwenden. So funktioniert der Prozess:

  1. Signieren Sie Ihr App-Bundle oder APK und laden Sie es auf Ihre Play Console hoch.
  2. Je nachdem, was Sie hochladen, unterscheidet sich der Signaturprozess folgendermaßen:

    • App-Bundle: Google generiert aus Ihrem App-Bundle optimierte APKs und signiert sie mit dem App-Signaturschlüssel.
    • APK mit Upload-Schlüssel signiert: Google überprüft und entfernt Ihre Signatur von der APK und gibt die APK dann mit dem App-Signaturschlüssel zurück.
    • APK mit App-Signaturschlüssel signiert: Google überprüft die Signatur. Google liefert signierte APKs an Nutzer.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.