Charles Proxy Tutorial for iOS

Learn how to use Charles for iOS and macOS to inspect encrypted and unencrypted network traffic for both your own apps and third-party apps. By Irina Galata.

Leave a rating/review
Download materials
Save for later
Share
You are currently viewing page 4 of 4 of this article. Click here to view the first page.

Removing Charles’ Certificate

In the past, Charles created a shared certificate across everyone’s devices that used it. Fortunately, Charles now creates unique certificates. This significantly reduces the chance of a man-in-the-middle attack based on this certificate, but it’s still technically possible. Therefore, you should always remember to remove Charles’ certificates when you’re done with it.

First, remove the certificate(s) from macOS. Open Keychain Access, which is located in Applications ▸ Utilities. In the search box, type Charles Proxy and delete all the certificates the search finds. There’s most likely only one to delete. Close the application when you’re done.

Next, remove the certificates from your iOS device. Open the Settings app and navigate to General ▸ Profiles. Under Configuration Profiles, you’ll see one or more entries for Charles Proxy. Tap one and then tap Remove Profile. Enter your passcode (if required) and confirm the removal. Repeat this for each Charles Proxy certificate.

Profiles & Device Management isn’t available in iOS Simulator. To remove the Charles Proxy certificates, reset the simulator by clicking the Hardware menu and then Erase All Content and Settings….

You should also turn off the Proxy for your Wi-Fi connection on your iPhone by opening Settings and visiting Wi-Fi, tapping the button, scrolling down to the HTTP Proxy section, selecting Configure Proxy and then tapping Off.

Where to Go From Here?

Download the fixed version of the project using the Download Materials button at the top or bottom of this tutorial.

And now you should know how to use Charles Proxy. It has a ton more features that aren’t covered in this tutorial, and there’s a lot more you can do with what you learned today. Check out Charles’ website for more documentation. The more you use Charles, the more features you’ll discover.

You can also read more about SSL/TLS on Wikipedia.

We hope you enjoyed this tutorial. Do you know of any other useful apps for debugging networking? Or do you have any debugging battle stories? If you have any questions or comments, please join the forum discussion below!