Warum unterscheidet sich der Fingerabdruck in meiner neu signierten Apk?

8

Ich habe ein Problem, den gleichen Fingerabdruck zu erhalten, nachdem ich den Keystore-Typ von PKCS12 auf JKS geändert habe.

Um die Änderung vorzunehmen, habe ich einen neuen JKS-Schlüsselspeicher erstellt, den Schlüssel gelöscht und den benötigten Schlüssel aus der .p12-Datei importiert. Wenn der Schlüssel mit keytool -keystore keystore.jks -list überprüft wird es gibt den Fingerabdruck aus:

%Vor%

das ist der Fingerabdruck der .p12-Datei, und der Fingerabdruck google sagt, dass meine vorherigen apks waren. Wenn ich meine APK mit diesem Zertifikat signiere und versuche, es in den Playstore hochzuladen, heißt es, dass das Zertifikat den Fingerabdruck hat:

%Vor%

Wenn ich sowohl die ursprüngliche .p12-Datei als auch die neue .jks-Datei mit dem KeyStore Explorer überprüfe, listet sie sowohl SHA1: C7: ... :AF als auch den Fingerabdruck auf.

Bearbeiten1:

%Vor%

Neue Apk

%Vor%

Original APK

%Vor%

Bearbeiten 2:

Die ursprüngliche .p12-Datei wurde mit dem Generator für Adobe Air Certificate erstellt, und die ursprüngliche Apk wurde mit Adobe Flash Professional CC kompiliert. Nach dem Testen der Zertifikate und dem Versuch, das APK auf verschiedene Arten zu signieren, denke ich, dass die einzige Möglichkeit darin besteht, dass der Flash Professional-Signaturprozess den gemeldeten Fingerabdruck irgendwie ändert, wenn er die Apk signiert. Die CERT.RSA im flash erstellten META-INF der apk stimmt mit der CERT.RSA der neuen apk überein. Hoffentlich hat jemand einen Vorschlag, wie ich meine neue apk unterschreiben kann, damit ich meine App aktualisieren kann.

    
Jimbo145 04.12.2014, 01:11
quelle

2 Antworten

2

Das Problem ist mit Gradle, während der Unterzeichnung mit Schlüssel aus P12 Schlüssel importiert.

Schritte zum Reparieren:

  1. Ändere die Erweiterung von apk in zip
  2. Entpacke die apk nicht, sondern öffne sie mit einem Doppelklick, indem du auf
  3. klickst
  4. Löschen Sie den META-INF-Ordner
  5. Ändern Sie die Erweiterung von zip zu apk
  6. signiere deine apk von der cmd-Eingabeaufforderung mit dem Befehl unter

jarsigner -keystore -storepass

  1. zip algin die apk

zipalign [-f] [-v] infile.apk outfile.apk

Die Ausrichtung ist eine Ganzzahl, die die Byte-Alignment-Grenzen definiert. Dies muss immer 4 sein (was eine 32-Bit-Ausrichtung ermöglicht) oder sonst nichts.

Ich konnte einen meiner erfolgreich mit diesen Schritten erneut veröffentlichen

    
Dev 31.10.2015 20:20
quelle
1

Ich habe das gleiche Problem. Finden Sie eine Lösung?

Mit dieser Befehlszeile habe ich denselben Fingerabdruck wie apk. Vielleicht kann es Ihnen helfen:

%Vor%     
plevavas 18.12.2014 17:44
quelle