2016-07-08 8 views
0

Ich erstelle eine Anwendung in iOS, die mit meinem TLS-1.2-kompatiblen Server sprechen muss. Nach iOS 9 wurde ATS (Application Transport Security) eingeführt, das diese Funktion standardmäßig aktiviert. Ich kann das Paket nicht mehr einfach mit CharlesProxy anzeigen.iOS-Anwendung Transportsicherheit für CharlesProxy

Nach der Suche fand ich, dass wir es in der meiner Anwendung vorübergehend deaktivieren können, um den Verkehr zu sehen.

<key>NSAppTransportSecurity</key> 
<dict> 
    <!--Connect to anything (for dev env only)--> 
    <key>NSAllowsArbitraryLoads</key> 

Wenn ich es richtig verstehe, ist ATS für die Datenverschlüsselung und nicht das MITM. Wir brauchen eine Art SSL-Pinning, um MITM-Prävention zu erreichen. Meine Frage kommt, warum ich den Verkehr auf Charles Proxy nicht sehen kann, ohne die zu ändern? (Ich kann jedoch andere https Anruf von anderen Anwendungen sehen)

+0

MITM ist nicht einfach, mit https. Im Fall von Charles Proxy haben Sie als Computeradministrator die Installation eines Zertifikats durch Charles Proxy zugelassen. Dadurch konnte eine https-Sitzung von Charles Proxy akzeptiert werden. Pinning würde dies nicht erlauben, da nicht nur irgendein gültiges Zertifikat erlaubt wäre, sondern das Zertifikat, das zu dem Server gehört, den Sie erwarten. – zaph

Antwort

0

Sie müssen einen MITM Angriff von Charles erlauben. Um dies zu tun, müssen Sie das Zertifikat von Charles auf Ihrem Gerät installieren. Informationen dazu finden Sie auf ihrer Website .

Nach der korrekten Installation des Zertifikats müssen Sie die URL auswählen, mit der rechten Maustaste klicken und dann auf "SSL-Proxying" für die URL klicken.

enter image description here

+0

Danke für die Eingabe, ich am Ende update Charles Version, sie erwähnt, dass der ATS nur nach bestimmten Version von Charles unterstützt wird –

Verwandte Themen