Wie werden Anfragen an api.twitter.com einschließlich SSL-Zertifikaten weitergeleitet?

8

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?

    
jenzz 27.01.2015, 21:10
quelle

1 Antwort

5

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.

    
Steven Hepting 02.02.2015 19:38
quelle