Android Keystore funktioniert nicht mehr

Gerade kürzlich habe ich ein problem mit einem key store. Ich weiß es gibt viele Fragen über dieses problem bereits. Ich habe Sie alle gelesen und Gegoogelt wie Wild.

Fehler:

keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect
java.io.IOException: Keystore was tampered with, or password was incorrect
    at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:772)
    at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55)
    at java.security.KeyStore.load(KeyStore.java:1214)
    at sun.security.tools.KeyTool.doCommands(KeyTool.java:885)
    at sun.security.tools.KeyTool.run(KeyTool.java:340)
    at sun.security.tools.KeyTool.main(KeyTool.java:333)
Caused by: java.security.UnrecoverableKeyException: Password verification failed
    at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:770)
    ... 5 more

Software, die ich benutze:

Java

java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

Eclipse

Version: 3.8.0
Build id: I20120502-2000

Neuesten ADT-Plugin

Neuesten Android-SDK

Hier ist was ich weiß:

  • Ich nicht verlieren, das Kennwort und es hat sich nie geändert.
  • Kann ich nicht abrufen, das Passwort(ich weiß, das pass).
  • Ich kann nicht anmelden, eine bestehende Anwendung mit einer anderen Taste ohne loslassen eine BRANDNEUE Anwendung, die(So kann ich nicht veröffentlichen, alle updates).

Hier ist, was ich getan habe:

  • Ich habe deinstalliert und neu installiert Eclipse viele Male.
  • Ich habe deinstalliert und neu installiert, das android-ADT-plugin.
  • Habe ich entfernt und neu heruntergeladen neuesten Android-SDK-viele Male.
  • Ich habe deinstalliert und neu installiert JDK7.
  • Ich habe versucht, mit der sicherungen von meinem keystore.
  • Ich habe die MD5-Prüfsummen mit "md5sum-KEYSTORE" und im Vergleich mit den sicherungen(gleiche MD5-Ausgang - nicht verändert).
  • Ich habe versucht, brute-forcing die Taste store(ich abgerufen haben, das Kennwort, das ich kannte).
  • Ich erstellte eine test-Taste(mit dem aktuellen setup) getestet und das Passwort ein und es scheint geklappt hat(so etwas hat sich geändert).
  • Ich habe versucht den Export der android .apk manuell und versuchte dann, es zu unterzeichnen(Außerhalb von Eclipse).

Hier ist, wie Exportiere ich eine signierte Anwendung:

  • Durch Eclipse: Exportieren mit Datei > Export > Exportieren-Android-Anwendung.
  • Vor JDK7: jarsigner -verbose -keystore KEYSTORE-DATEI ALIAS.
  • Mit JDK7: jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore KEYSTORE-DATEI ALIAS.

Was soll man da noch herausfinden oder versuchen?

  • Einige der Hinweise/URLs sagen, um die zu entfernen "vertrauenswürdigen.certs" Datei?
  • löschen Sie die "debug".keystore"?
  • Würde die Aktualisierung von Eclipse oder eine der Android-Entwicklungs-tools auf meinem keystore?
  • Würde die Aktualisierung von Java jdk6 zu jdk7 zu irgendwelchen Problemen?
  • Könnte das Durcheinander gebracht wurden oder sich ändern, wie die jarsigner funktioniert es überhaupt?

Benutzer Vorschläge:

  • Versuchen Sie es mit JDK6, aber ich war in der Lage, vor kurzem zu einer Anwendung exportieren.
  • Geprüft-Taste.store.Passwort oder Schlüssel.alias.Passwort in mein lokal.Eigenschaften
  • Deaktivieren Sie die automatisch erstellen in eclipse und reinigen Sie Ihr Projekt
  • Versuchen, Sie zu entfernen .Metadaten-Ordner in Ihrem Arbeitsbereich und lösche alle temp-Ordner.

Zusammenfassung

  • Keystores nicht ändern,
  • Ich habe die Passwörter für den Schlüsselspeicher,
  • Ich habe erfolgreich exportiert eine Anwendung vor kurzem mit:
    • Eclipse 3.8 (und Eclipse 4.0+),
    • Neueste Java 7,
    • Neuesten ADT-Plugin.
  • Meine letzten erfolgreichen exportieren und zu bauen, war vor ein paar Wochen mit Eclipse 3.8, neuesten Android-Werkzeuge und Java 7 mit dem gleichen Passwort.

Update (6/29/14)

  • Die ich verwendet habe: keytool -list -keystore KEYSTOREum erfolgreich zu beweisen und zu zeigen, dass 3 von meinen 4-Tasten arbeiten.
  • Ich bruteforced den letzten Schlüssel und erhalten Sie das Kennwort aus dem Schlüsselspeicher(Die pass ich schon wusste), aber das Passwort funktioniert nicht, wenn ich für die Unterzeichnung. Ich habe verwendet: java-jar AndroidKeystoreBrute_v1.02.jar -m 3 -k KEYSTORE -d WORDLIST.
  • Seltsam genug, manchmal, wenn ich mein Passwort in eclipse sehr schnell, mein Pseudonym wird sich zeigen und kann ich erfolgreich exportieren meine Anwendung. (Ich weiß, das ist verrückt).
  • Aktualisierte Java-version.

Wenn ich das Passwort einzugeben, kann man sehr schnell arbeiten, manchmal.

Scheint es, dass die öffnung der Eclipse-und der Eingabe des Passwortes das erste mal lässt mich mit dem keystore.

Natürlich, wenn alle Stricke reißen, werde ich haben, erstellen Sie einen neuen Schlüssel zu speichern. Ich würde wirklich gerne dieses gelöst, ich bin mir nur nicht sicher, was jetzt zu tun außer zu veröffentlichen mit einem neuen Schlüssel.

Wenn der Schlüssel nicht wiederhergestellt werden kann, richtig, ich mag open source auf Github.


Lösung (6/29/14):

Einen besonderen Dank an user Erhannis!

Hier ist was ich getan habe:

Würde der Befehl zu einem Fehler auf mich jedes mal:

keytool -importkeystore -srckeystore old.keystore -destkeystore new.keystore -v

Da Sie sagte mir, wir extrahieren konnte private keys aus dem Java Keystore(.jks), grub ich tiefer und landete mit einer Variante des Befehls. Ich folgte den links die du gepostet hier und hier:

keytool -importkeystore -srckeystore old.keystore -destkeystore new.keystore -deststoretype pkcs12

Nach dem extrahieren des privaten Schlüssels und Speicherung als PKCS12, ich denke, extrahiert meinen privaten Schlüssel und steckte ihn zurück in einem brandneuen Java-Keystore:

keytool -importkeystore -srckeystore new.keystore -srcstoretype pkcs12 -destkeystore final.keystore -deststoretype jks

Referenzen:

http://developer.android.com/tools/publishing/app-signing.html#signapp

http://code.google.com/p/android-keystore-password-recover/

Liste der StackOverflow-URLs habe ich gelesen:

Wie man mit einem verlorenen KeyStore-Passwort in Android?

Invalid Keystore problem?

Android: ich habe mein android key store, was soll ich tun?

Ich verlor mein .keystore-Datei?

Vergessen Keystore-Kennwort, das denken von Brute-Force-Erkennung. wird es beschädigt die keystore?

Ich habe das Passwort verloren für android Keystore-Datei

Problem mit meiner unterzeichnet, release keystore in Eclipse

Android - keystore-Kennwort Vergessen. Kann ich entschlüsseln keystore-Datei?

Android-Version keystore Problem: "Keystore manipuliert wurde, oder das Passwort war falsch"

InformationsquelleAutor der Frage | 

Schreibe einen Kommentar