14

Here's what I did so far:

  1. Install Charles on my mac
  2. Connect mac and iPhone to same WiFi network
  3. Charles->Proxy->SSL Proxy Settings. Enable for *
  4. General->About->Certificate Trust Settings and enable full trust for the Charles Proxy certificate.
  5. Charles->Help->Install Charles Root Certificate on a Mobile Device
  6. Configure iPhone to proxy to IP provided in step 3.

And then when I try to go to safari on my Iphone I get a "connection lost" error and It's impossible to browse.

Any solutions ? I'm on IOS 11.4

Nicolas Vrillac
  • 219
  • 1
  • 3
  • 7

4 Answers4

17

I used to have the same problem when SSL Proxying on iOS device then I changed to the following steps and it works:

  1. Install Root Certificate on my mac
  2. Configure Wifi Proxy on iOS device to Charles:
    • Server: 172.16.1.191
    • Port: 8888
  3. Open Safari on iOS device:
    • Browse to chls.pro/ssl to download and install the certificate
  4. Install Charles CA Certificate on your device:
    • iOS ≥ 10.3: Setting app > General > Profiles > Select Charles CA > Install
    • iOS ≥ 12.2: Setting app > Profiles Downloaded > Select Charles CA > Install
  5. Trust Charles CA Certificate on your device:
    • Setting app > General > About > Certificate Trust Settings > Switch ON on Charles CA

Honestly, this is based on the iOS Setup Guide of an app named Proxyman. They have similar features like Charles but the UX is better I suppose. Anw, hope it helps :)

Proxyman iOS Setup Guide

gaku
  • 441
  • 3
  • 5
  • 1
    Do note that you must use Safari on your iOS device. I don't think other browsers will be able to download and install the certificate. Once installed you're free to use any browser of course – Jim Aho Jul 24 '20 at 14:24
  • I'm stuck on Step 3. The profile doesn't get installed. What can I do? – Ekrem E. Aug 23 '21 at 10:14
  • Charles works for me on iOS, except for the DNS spoofing. If I try to spoof an address to replace it with another, it keeps hitting the first one unchanged. – Andy Jun 29 '22 at 20:54
  • "Setting app > General > About > Certificate Trust Settings > Switch ON on Charles CA" this was the missing step for me – Alexander Vitanov Aug 02 '23 at 22:41
1

I had the same issue yesterday and spent a lot of time trying all possible solutions. But, what worked for me was restarting my router and do all these steps again.

Note: In case you are not able to download the certificate on your iOS device by going to Safari browser (chls.pro/ssl), you can download the certificate from the Charles app on your mac, save in local, then send it to your iOS device and install from there. Path for the same in Charles app is - Help -> SSL Proxying -> Save Charles Root Certificate

Navya
  • 11
  • 2
0
  1. Go to the Wifi setting, Configure Proxy under HTTP PROXY to Manual.

  2. Provide the Server IP from Charles and Port to 8888.

  3. Browse to chls.pro/ssl to download and install the certificate in your phone.

Manoj Singhal
  • 109
  • 1
  • 8
0

Refer to the answer here: Cannot see iOS simulator traffic with charles proxy

Ensure that ATS is present for debug builds.