Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 16115|Antwort: 2

Lösung zum Fangen von Paketen nach Android 7.0 unbekannten und ungültigen Zertifikaten

[Link kopieren]
Veröffentlicht am 18.03.2019 21:38:06 | | | |
Hintergrund

Beim Einsatz von Paketerfassungssoftware (zum Beispiel Charles) zur Erfassung der HTTPS-Anfrage der App haben sowohl Android als auch Charles das Zertifikat korrekt installiert, aber die Paketerfassung schlägt fehl und ein Fehler wird gemeldet:

Client SSL Handshake fehlgeschlagen: Ein unbekanntes Problem trat bei der Verarbeitung des Zertifikats auf (certificate_unknown)



Ursache

Nach Android7.0 ist das standardmäßig zum System hinzugefügte CA-Zertifikat nicht mehr vertrauenswürdig:

Um ein konsistenteres und sichereres Erlebnis im gesamten Android-Ökosystem zu bieten, vertrauen kompatible Geräte ab Android Nougat nur den standardisierten System-CAs, die in AOSP gepflegt werden .


Dokumentationslink:https://android-developers.googl ... ed-certificate.html

Das bedeutet, dass Sie für Apps basierend auf SDK24 und höher selbst dann ein Zertifikat des Paketerfassungstools auf Ihrem Handy nicht erfassen können.

Lösung

1. Offizielle Lösung (Codeänderung erforderlich)

Offizielle Dokumentation:https://developer.android.google ... ecurity-config.html
Detaillierte Demonstration:https://blog.csdn.net/mrxiagc/article/details/75329629

2. Installieren Sie das Zertifikat der Paketerfassungssoftware als Systemzertifikat (ROOT erforderlich)

Systemzertifikatsverzeichnis: /system/etc/security/cacerts/

Die Benennungskonvention für jedes Zertifikat ist wie folgt:
<Certificate_Hash>. <Number>

Der Dateiname ist ein Hashwert, während das Suffix eine Zahl ist.

Der Dateiname kann mit folgendem Befehl berechnet werden:


Wenn zum Beispiel der von zwei Zertifikaten berechnete Hashwert derselbe ist, kann die Suffixnummer eines Zertifikats auf 0 gesetzt werden und die Suffixnummer des anderen Zertifikats auf 1 gesetzt werden

Schritte:

Verwenden Sie den obigen Befehl, um den Hashwert des Zertifikats der Paketerfassungssoftware zu berechnen, benennen Sie es neu und kopieren Sie es in das Systemzertifikatsverzeichnis



Zu diesem Zeitpunkt sollten Sie Ihr neu hinzugefügtes Zertifikat im System-Tab Einstellungen - > Sicherheit - > Verschlüsselung & Zugangsdaten - > Vertrauenswürdige Zugangsdaten sehen können.







Vorhergehend:Frontend-JavaScript-Interviewfähigkeiten
Nächster:Wie implementiert man die Verifizierungscode-Verifizierung auf der Landingpage?????
Veröffentlicht am 19.03.2019 09:13:25 |
Darf ich den Besitzer fragen? Einige Anwendungen und APPs können Pakete über Proxys nicht erfassen, ich weiß nicht, wie ich das lösen soll?
Veröffentlicht am 06.09.2019 22:55:58 |
Schau dir den Chef an
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com