Ich verwende Twitter's neues Fabric SDK für Android. Ich habe Charles als Proxy auf meinem Mac eingerichtet, damit ich die JSON-Nutzdaten in den API-Antworten analysieren kann.
SSL-Proxy in Charles ist aktiviert und Zugriff für mein Testgerät gewährt.
Allerdings zeigt Charles mir den folgenden Fehler für jede Anfrage an Twitter:
URL Ссылка
Status Fehlgeschlagen
Fehler SSLHandshake: Schwerwiegender Alert empfangen: certificate_unknown
Logcat zeigt mir:
%Vor%Es sieht so aus, als müsste ich einigen Zertifikaten vertrauen ... Irgendwelche Ideen?
Das Fabric SDK verwendet SSL-Zertifikat-Pinning, um sicherzustellen, dass sie direkt mit den Twitter-Servern kommunizieren. Leider bedeutet , dass Sie den Datenverkehr zwischen Fabric und dem Twitter-Backend nicht sehen können .
Im Allgemeinen erfordert Standard-SSL lediglich, dass ein bestimmtes Zertifikat "vertrauenswürdig" ist. Deshalb können Sie dem Charles-Zertifikat in Ihrem Emulator oder auf Ihrem Testgerät vertrauen und der Netzwerk-Stack wird sich nicht beschweren. Wenn eine Bibliothek SSL-Zertifikat-Pinning verwendet, vertraut sie jedoch nicht nur any vertrauenswürdigen Zertifikaten, sondern nur bestimmten Zertifikaten. Auch wenn Ihr Emulator ein vertrauenswürdiges Charles-Zertifikat sieht, schlägt die Twitter-Bibliothek fehl, es sei denn, es wird das eigentliche Twitter-API-Zertifikat angezeigt. Sehen Sie mehr Ссылка
Wenn Sie benötigen , um die Zugriffe zu sehen, müssen Sie eine Twitter-Bibliothek verwenden, die kein SSL-Zertifikat-Pinning verwendet.
Tags und Links android ssl twitter ssl-certificate