F
Flugrost
Neues Mitglied
- 0
Die eBay Android App wurde aktualisiert. Sie ist nunmehr unbrauchbar. Der Google Store bietet keine Downgrade Möglichkeit. Auf der Seite des Herstellers - Get the new eBay app on any device. - finde ich auch keine älteren Versionen.
Eine Suche im Netz nach "ebay apk" ergibt Treffer bei APKMirror - #APKPLZ #SOONBACKANSWER Aber ist das eine vertrauenswürdige Quelle? Jeder Hansel kann doch da seine modifizierte ebay APK hochladen. Zum Glück kann man eine APK prüfen:
How do I verify that an Android apk is signed with a release certificate?
How do I verify that an Android apk is signed with a release certificate? - Stack Overflow
jarsigner -verify -verbose -certs -keystore D:\JDK\jre\lib\security\cacerts unklar.apk
Schön und gut. Er bescheinigt mir in 2493 Fällen:
X.509, CN=eBay Android
[certificate is valid from 12.02.10 21:48 to 06.02.35 21:48]
[CertPath not validated: Path does not chain with any of the trust anchors]
Wie man sieht, kann er das Zertifikat nicht gegen den Aussteller prüfen. Das Zertifikat steht isoliert da, so wie ein selbstausgestelltes. So jedenfalls verstehe ich die Meldung. Das Zertifikat müßte stattdessen an eines der Stammzertifikate gebunden sein. Wie man es halt von SSL Zertifikaten kennt.
Dachte ich jedenfalls. War aber falsch gedacht. Hat sich was mit "CertPath … chain … trust anchors". Es gibt für eine APK keine Vertrauensanker, denn APK Zertifikate sind in aller Regel selbstausgestellt. (Fremdausgestellte Zertifikate sind nicht verboten, aber wozu der Aufwand?) Eigentümer und Aussteller sind gleich wie hier bei meiner eBay APK:
keytool -printcert -file CERT.DSA
Eigentümer: CN=eBay Android
Aussteller: CN=eBay Android
Seriennummer: 4b75be9b
Gültig von: Fri Feb 12 21:48:27 CET 2010 bis: Tue Feb 06 21:48:27 CET 2035
Zertifikat-Fingerprints:
MD5: 73:19:BF:F0:37:5D:4B:77:1D:03:5D:42:8A:A0:99:40
SHA1: 19:66:EE:1D:FC:E1:ED:F3:B7:51:22:FB:25:8E:44:C3:CA:60:5E:94
SHA256: 85:B4:01:54:97:15:4D:FA:89
E:30:87:71:A9:FC:61:A6:4B:19:AF:1A:3F:B0:32:56:E8:CC:3A:79:55:67:E5
Signaturalgorithmusname: SHA1withDSA
Version: 3
Stammzertifikate sind nicht erforderlich. Jeder oder so gut wie jeder brät sich sein Zertifikat kostengünstig selber.
Signing Your Applications | Android Developers
Android requires that all apps be digitally signed with a certificate before they can be installed. Android uses this certificate to identify the author of an app, and the certificate does not need to be signed by a certificate authority. Android apps often use self-signed certificates.
Demnach kann man dem Zertifikat ruhig vertrauen, wenn man ihm in der Vergangenheit bereits vertraut hat, indem man eine APK mit dem gleichen Zertifikat aus dem Google Store installiert hat und dort ja sicher alles ganz genau geprüft wird. Oder mach ich da einen Denkfehler?
Weitere Überlegung: Alternativ hätte Google ja auch selber Vertrauensanker werden und alle Entwickler zur (möglichst kostenlosen) Beantragung und Verwendung eines von Google ausgestellten Zertifikates verpflichten können. Ansonsten keine Distribution über den Google Store. Theoretisch könnte das System auch so umgestrickt werden, daß nicht von Google zertifizierten Anwendungen die Ausführung verweigert wird. Wäre natürlich deutlich weniger attraktiv für Entwickler.
Eine Suche im Netz nach "ebay apk" ergibt Treffer bei APKMirror - #APKPLZ #SOONBACKANSWER Aber ist das eine vertrauenswürdige Quelle? Jeder Hansel kann doch da seine modifizierte ebay APK hochladen. Zum Glück kann man eine APK prüfen:
How do I verify that an Android apk is signed with a release certificate?
How do I verify that an Android apk is signed with a release certificate? - Stack Overflow
jarsigner -verify -verbose -certs -keystore D:\JDK\jre\lib\security\cacerts unklar.apk
Schön und gut. Er bescheinigt mir in 2493 Fällen:
X.509, CN=eBay Android
[certificate is valid from 12.02.10 21:48 to 06.02.35 21:48]
[CertPath not validated: Path does not chain with any of the trust anchors]
Wie man sieht, kann er das Zertifikat nicht gegen den Aussteller prüfen. Das Zertifikat steht isoliert da, so wie ein selbstausgestelltes. So jedenfalls verstehe ich die Meldung. Das Zertifikat müßte stattdessen an eines der Stammzertifikate gebunden sein. Wie man es halt von SSL Zertifikaten kennt.
Dachte ich jedenfalls. War aber falsch gedacht. Hat sich was mit "CertPath … chain … trust anchors". Es gibt für eine APK keine Vertrauensanker, denn APK Zertifikate sind in aller Regel selbstausgestellt. (Fremdausgestellte Zertifikate sind nicht verboten, aber wozu der Aufwand?) Eigentümer und Aussteller sind gleich wie hier bei meiner eBay APK:
keytool -printcert -file CERT.DSA
Eigentümer: CN=eBay Android
Aussteller: CN=eBay Android
Seriennummer: 4b75be9b
Gültig von: Fri Feb 12 21:48:27 CET 2010 bis: Tue Feb 06 21:48:27 CET 2035
Zertifikat-Fingerprints:
MD5: 73:19:BF:F0:37:5D:4B:77:1D:03:5D:42:8A:A0:99:40
SHA1: 19:66:EE:1D:FC:E1:ED:F3:B7:51:22:FB:25:8E:44:C3:CA:60:5E:94
SHA256: 85:B4:01:54:97:15:4D:FA:89
Signaturalgorithmusname: SHA1withDSA
Version: 3
Stammzertifikate sind nicht erforderlich. Jeder oder so gut wie jeder brät sich sein Zertifikat kostengünstig selber.
Signing Your Applications | Android Developers
Android requires that all apps be digitally signed with a certificate before they can be installed. Android uses this certificate to identify the author of an app, and the certificate does not need to be signed by a certificate authority. Android apps often use self-signed certificates.
Demnach kann man dem Zertifikat ruhig vertrauen, wenn man ihm in der Vergangenheit bereits vertraut hat, indem man eine APK mit dem gleichen Zertifikat aus dem Google Store installiert hat und dort ja sicher alles ganz genau geprüft wird. Oder mach ich da einen Denkfehler?
Weitere Überlegung: Alternativ hätte Google ja auch selber Vertrauensanker werden und alle Entwickler zur (möglichst kostenlosen) Beantragung und Verwendung eines von Google ausgestellten Zertifikates verpflichten können. Ansonsten keine Distribution über den Google Store. Theoretisch könnte das System auch so umgestrickt werden, daß nicht von Google zertifizierten Anwendungen die Ausführung verweigert wird. Wäre natürlich deutlich weniger attraktiv für Entwickler.