Everything is fine when my iPhone 7 is still iOS 12. After it upgrade to iOS13 public beta7, I found that my iPhone can not do SSL proxying with Charles 3.x version.
Charles says:
SSLHandshake: Remote host closed connection during handshake
You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.
iOS devices If you are on iOS 10.3 or later, open the Settings. app and navigate to General > About > Certificate Trust Settings, and find the Charles Proxy certificate, and switch it on to enable full trust for it (More information about this change in iOS 10).
As before, open the Settings app and navigate to General ▸ About ▸ Certificate Trust Settings. Trust the certificate you just installed. Next, in the macOS Charles app, select Proxy ▸ SSL Proxying Settings. Ensure Enable SSL Proxying is checked, and add a value for the traffic you want to inspect.
Follow the steps given by the Charles. After granting trust to the Charles certificate, need to do 1 more step, to enable full trust: https://support.apple.com/en-nz/HT204477
Far as I know, Apple has released new security requirements for TLS server certificates in iOS 13 and macOS 10.15. Thus, your Charles CA Root Certificate might be out-of-date. I think you could try to delete that certificate and re-install and trust Charles CA with the newest version of Charles to see if it works (Hope that Charles has updated and fixed this bug). I had switched from Charles to Proxyman and they also had a release to fix this bug: https://github.com/ProxymanApp/Proxyman/releases/tag/1.4.4.1
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With