Ich habe eine Android-App (und seine Produktion Keystore), die zuerst mit Adobe Air erstellt wurde. Vor langer Zeit wechselte das Unternehmen zum regulären Android SDK, um die App zu entwickeln, aber da die App bereits in Produktion war, ist der von uns verwendete Keystore immer noch der gleiche (der dann von Adobe Air erstellt wurde).Keystore SHA1 unterscheidet sich von cert.rsa SHA1 von APK
ich keytool die SHA1 für Google Places API zu extrahieren, bekam ich etwas in diese Richtung:
Alias name: <alias_name>
Creation date: Jan 11, 2015
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=<company_name>, OU=, O=, C=US
Issuer: CN=<company_name>, OU=, O=, C=US
Serial number: <lotsofnumbers>
Valid from: Mon Mar 28 14:08:17 IST 2011 until: Sat Mar 29 14:08:17 IDT 2036
Certificate fingerprints:
MD5: ..:8D:F7
SHA1: ..:E6:69
SHA256: ..:38:9A
Signature algorithm name: SHA1withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.37 Criticality=false
ExtendedKeyUsages [
codeSigning
]
Diese SHA1 (Schlichten von E6: 69) nie in Google Places API gearbeitet, damit ich überprüft, was die CERT.RSA die apk enthielt und es sah fast die gleiche, außer den Zertifikats Fingerabdrücke:
Valid from: Mon Mar 28 14:08:17 IST 2011 until: Sat Mar 29 14:08:17 IDT 2036
Certificate fingerprints:
MD5: ..:E1:30
SHA1: ..:72:74
SHA256: ..:9D:6D
Signature algorithm name: SHA1withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.37 Criticality=false
ExtendedKeyUsages [
codeSigning
]
Diese SHA1 (Schlichten von 72:74) funktionierte perfekt und ich es endlich geschafft, die Google Places API in der Produktion zu verwenden. Aber ich verstehe nicht, warum diese beiden Fingerabdrücke des Zertifikats unterschiedlich sind.
Ich bin 1000% sicher, es ist der gleiche Keystore, also wie ist das möglich?
Wenn ich auf dem Android Debug-Schlüssel aussehen wird die Info die gleiche Art und Weise strukturiert, aber die Erweiterungen sind unterschiedlich:
Alias name: androiddebugkey
Creation date: Oct 26, 2014
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 3bddeb55
Valid from: Sun Oct 26 21:03:56 IST 2014 until: Tue Oct 18 22:03:56 IDT 2044
Certificate fingerprints:
MD5: ..:01:17
SHA1: ..:00:77
SHA256: ..:32:93
Signature algorithm name: SHA256withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: <weird hexa number and characters>
0010: <weird hexa number and characters>
]
]
meine Fragen Fassen wir zusammen:
- Wie dies möglich ist, die SHA1 tun nicht übereinstimmen?
- Könnte es der Unterschied der Erweiterungen sein?
- Wie kann ich keytool (oder ein anderes Tool) verwenden, um mir dann die richtige SHA1 zu zeigen?
- Kann ich diese Code Signing Extension loswerden, um zu einem "normalen Android Keystore" zurückzukehren?
soweit ich weiß, wird diese Methode nur zeigen Ihnen die SHA1 für Debug-Schlüsselspeicher – yogipriyo