Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to install certificate/profile in physical iOS 16 #1293

Open
Esquilli opened this issue Jul 13, 2022 · 60 comments
Open

Unable to install certificate/profile in physical iOS 16 #1293

Esquilli opened this issue Jul 13, 2022 · 60 comments
Assignees
Labels
✅ Done Ticket is addressed and fixed.

Comments

@Esquilli
Copy link

Proxyman version? (Ex. Proxyman 1.4.3)

  • 3.6.2 (30620)

macOS Version? (Ex. mac 10.14)

  • macOS Monterrey 12.4

Steps to reproduce

  • Same instructions as the "iOS Setup Guide" for physical devices.

Expected behavior

  • Users should be able to install certificates on a physical device.
  • When you go to proxy.man/ssl the profile is not downloaded.

Screenshots (optional)

  • N/A
@NghiaTranUIT
Copy link
Member

Hey, iOS 16 beta is buggy when setting the HTTP Proxy via Wifi.

If you're using:

  • iOS 16 Beta 1, 2, 3: Turn ON Turn OFF the HTTP Proxy toggle in Wifi might do the trick (not 100%)
  • iOS 16 Beta 4 is broken. No way to fix it.

We gonna file a radar on Apple soon.

You can confirm by

  • Could not access to chls.pro/ssl from Charles Proxy
  • Set HTTP Proxy IP with a random number, and you're still able to access the Internet -> It means it's a bug from Apple -> The Traffic still doesn't go through the IP Proxy.

Workaround

@avighnash
Copy link

Having the same issue on iOS 16 beta 7. Proxying isn't working for PortSwigger or Charles either.

@NghiaTranUIT
Copy link
Member

@avi2k4 some users report that after forgetting your Wifi hotspot, it can fix the problem 👍

@phr85
Copy link

phr85 commented Sep 21, 2022

I having problems since I use Xocde 14 / iOS 16. I try to see https traffic, but it only stuck at yellow dot (ACTIVE).

Screenshot 2022-09-21 at 09 25 29

Is this issue one described in this ticket or is mine related to something else?
(I reseted Root Certificate on Mac and reinstall it in Simulator)

@NghiaTranUIT
Copy link
Member

NghiaTranUIT commented Sep 21, 2022

@phr85 Look like you're using the old Atlantis library version. I remember that I've fixed this issue on iOS 16. Please update the latest version: https://github.com/ProxymanApp/atlantis/releases/tag/1.18.2

Here is the PR: ProxymanApp/atlantis#108

@phr85
Copy link

phr85 commented Sep 21, 2022

@NghiaTranUIT Thank you. This solves my issue.

@haivudang88
Copy link

haivudang88 commented Oct 20, 2022

hi @NghiaTranUIT
is there any solution to this Bug already?
i could not download and install Charles proxy for the devices upgrade from iOS 16 Beta (1 to Gold)
i use Window Laptop
Thank you so much

Chào @NghiaTranUIT ,
Bạn có thông tin thêm về lỗi này không?
Mình không thể tải và sử dụng Charles proxy cho các máy được update từ iOS 16 Beta
mình sử dụng Window Laptop
Cám ơn bạn nhiều

@NghiaTranUIT
Copy link
Member

@haivudang88 If you're using the iOS 16 Beta, there is an Apple Bug that affects Proxyman & Charles Proxy app too.

Basically, the iOS 16 beta doesn't respect the HTTP Proxy in the Wifi, you the proxy.man/ssl local website is inaccessible.

Here is a document: https://docs.proxyman.io/troubleshooting/ios-16-devices-issues

@jkapsouras
Copy link

I have 16.2 beta on my device and the problem is still active. proxy.man/ssl is not accessible

@NghiaTranUIT
Copy link
Member

Me too. The crazy bug since iOS 16.0 and they haven't fixed it yet :/

@joaodforce
Copy link

iOS 16.2 is out, and it still does not address this.

@NghiaTranUIT
Copy link
Member

It's sad news, but it's true.

I've reopened the bug ticket on Apple Radar. Hopefully they will address it soon 👍

@karthikchalla5
Copy link

@NghiaTranUIT Is it possible to share the link raised with Apple for this bug ? so we can track it from there. It looks like taking more time than expected. and we are blocked from using the tool on iOS 16.x

@NghiaTranUIT
Copy link
Member

I've opened on Apple Feedback Assistant: https://feedbackassistant.apple.com/feedback/11871219

Not sure if you can access it.

@sunday4m
Copy link

I don't sure will it help
But legitimate proxy works well on iOS 16.x

Problem with proxy only specific to MITM

@NghiaTranUIT
Copy link
Member

Tested with iOS 16.1, using HTTP Proxy with Manual Mode doesn't work with any IP, e.g. 192.168.1.100, http://proxyman.local, etc

My iPhone is still able to connect to the Internet in spite of invalid Proxy IP. Not sure if it's fixed on iOS 16.2.

@jkapsouras
Copy link

A (not very nice for me) workaround is to use the mobile app (https://proxyman.io/ios). The mobile app works fine and captures requests and responses directly from the device.

@NghiaTranUIT
Copy link
Member

yup, it's true because the Proxyman for iOS app is using the VPN (not the HTTP Proxy), so it can capture all data.

Tip: You can share the traffic from the iOS app to the macOS device, and preview it with Proxyman for macOS 👍

@ivandev7
Copy link

I am testing with Proxyman & Charles on iOS 16.2 and I can capture http/https traffic but websocket connections are not showing and I need this part.

@NghiaTranUIT
Copy link
Member

@ivandev7 It's a known issue from URLSessionWebsocketTask. WS traffic doesn't go through the HTTP Proxy. Thus, it never appears on the Proxy app.

To capture it, please use Atltantis framework from Proxyman. Basically, it captures WS/WSS traffic by using method swizzling, and send to the macOS app to preview 👍

@jkapsouras
Copy link

jkapsouras commented Jan 24, 2023

Just installed 16.3 to my device and the proxy works. I think problem is solved from apple.

@NghiaTranUIT
Copy link
Member

Wow, it's a great news 🚀🚀🚀

I will upgrade to iOS 16.3 and let other people know 👋

@pathikb
Copy link

pathikb commented Jan 25, 2023

Sadly doesn't work for me on iOS 16.3!

@NghiaTranUIT
Copy link
Member

Bad news: Apple hasn't fixed the HTTP Proxy bug on iOS 16.3 🐛

Tried to set the HTTP Proxy to random IP/Port, but it still connect to the Internet ❌ 😢

@jasonhibbs
Copy link

I was able to get Proxyman working today by forgetting and reconnecting to the network I want to use.
I was having problems on 16.3 before this.

@tiagobnobrega
Copy link

Forgetting and reconnecting didn't work for me. I noticed that if I connect to the router without an internet connection (remove the cable from the router) proxy will work. Of course, this setup does not work for me as I still need an internet connection. Curious how having an internet connection affects this

@NghiaTranUIT
Copy link
Member

@tiagobnobrega it's definitely an Apple bug : < I've opened it on Apple Feedback is still not resolved by Apple Team.

@NghiaTranUIT
Copy link
Member

@pinkhominid I'm not sure how Apple fixes it. On my devices, iPhone 13 Proxy Max iOS 16.4.1 (a), and some users, It's fixed after forgetting the Wifi and connecting again.

@pathikb @ratelgogo You might workaround by using the Atlantis framework (develop by Proxyman team), to capture HTTPS traffic.

@Achieve777
Copy link

mobile: iPhone 13 pro
version: 16.5 beta(20f65)

This bug has been resolved.

@yuriibabii
Copy link

Was able to fix this after installing Proxyman app on the phone, installing its certificate, enabling VPN, verified it's working. Then turn off the VPN, start setuping proxy for desktop again. Now the certificates should be downloaded and able to install of the device. After that everything worked as expected. Doesn't matter if it's Proxyman desktop app, or Charles.

@rounak
Copy link

rounak commented Aug 7, 2023

Forgetting and rejoining the network worked!

@dnesterov
Copy link

iOS 16.6 - Still not working :(

@NghiaTranUIT
Copy link
Member

NghiaTranUIT commented Aug 21, 2023

@dnesterov try to forget the Wifi and reconnect again. Set the proxy, then Save it TWICE ✅ . For some reason, the iOS doesn't save the proxy setting.

I've updated the Docs at https://docs.proxyman.io/troubleshooting/ios-16-devices-issues#4.-solution-for-ios-16.3-or-later

@dnesterov
Copy link

commented

Thank you, it is working after forgetting Wi-Fi!

@IDEKENTERPRISES
Copy link

Currently not working on iOS 16.7.2, tried forgetting network and restarting iPhone to no avail; traffic continues to ignore proxy setting.

@Dast1Woop
Copy link

iOS17,still not working

@ouzihao
Copy link

ouzihao commented Nov 22, 2023

Currently not working on iOS 16.7.2, tried forgetting network and restarting iPhone to no avail; traffic continues to ignore proxy setting.
iOS 16.7.1 have the same problem too.

@castrojr913
Copy link

Currently not working on iOS 16.7.2, tried forgetting network and restarting iPhone to no avail; traffic continues to ignore proxy setting.

I was facing the same issue with my app on iOS 17, but I found the HTTP client (Alamofire) blocked the interception. For instance, using Alamofire.SessionManager.default. It even displayed the message "The Certificate for this server is invalid", canceling the request. Looking into a developer's answer on StackOverflow to disable this behavior, I implemented a custom ServerTrustPolicyManager, to initialize the session manager for each request:

open class MyServerTrustPolicyManager: ServerTrustPolicyManager {
        open override func serverTrustPolicy(forHost host: String) -> ServerTrustPolicy? {
            return ServerTrustPolicy.disableEvaluation
        }
}

let sessionManager = SessionManager(delegate:SessionDelegate(), serverTrustPolicyManager:MyServerTrustPolicyManager(policies: [:]))

In summary, in my case, ProxyMan was working properly, Alamofire default configuration was the issue instead.

@NghiaTranUIT
Copy link
Member

@castrojr913 It's not really related to this issue, which is an Apple Bug.

Some iPhones didn't use HTTP Proxy Config in the WiFi Setting.

So far, here are solutions from Proxyman users.

  • Forget the Wi-Fi
  • Restart the iPhone
  • Double-check the IP & Port to match with Proxyman
  • Open Firewall setting to accept all incoming traffic (iPhone)
  • and update to the latest iOS 17

@tutuerhao
Copy link

tutuerhao commented Dec 1, 2023

IPHONE13pro 16.2 has been tested and it may be helpful to reset the iPhone network. Turning on VPN may also cause the proxy to fail.

@tutuerhao
Copy link

You can use proxy tools such as Shadowrocket, Surge, and Loon to add strategies for packet capture.

@GioPalusa
Copy link

There is a super simple solution to this. Go to the webpage to get the SSL certificate on your Mac http://proxy.man/ssl. It will download to your computer, then you can just airdrop it to your phone and it works as planned.

@NghiaTranUIT
Copy link
Member

NghiaTranUIT commented Feb 20, 2024

@GioPalusa but your iPhone never uses the HTTP Proxy, so Proxyman macOS can't see any request from your iPhone (because the WiFi Proxy is always ignored)

This issue is fixed by Apple on iOS 17. You can see some solutions at https://docs.proxyman.io/troubleshooting/ios-16-devices-issues

@JauYang
Copy link

JauYang commented Mar 22, 2024

I have tried all the solutions in this issues. The only thing that is feasible is to forget the network, restart the phone, and then re-execute all the actions, but this will not be solved for a long time, and the phone will fail after a few minutes of resting;

iOS 17.3.1, the problem still cannot be dealt with effectively, and it is too troublesome to restart the phone.
f**k apple

@NghiaTranUIT
Copy link
Member

@JauYang can you confirm that there is no active VPN when you set the proxy setting? Some users had active VPN and didn't realize to turn it off.

@22Round
Copy link

22Round commented Apr 11, 2024

As of iOS 17.4.1, the issue is till there :((

@NghiaTranUIT
Copy link
Member

@Sjahriyar can you try each step in the Troubleshooting: https://docs.proxyman.io/troubleshooting/my-ios-devices-couldnt-connect-to-proxyman-via-proxy

Maybe it's from your Firewall, or VPN app, ...

@GioPalusa
Copy link

I did the download on a Mac and airdrop the certificate to a new iPhone yesterday and it worked like a charm. I capture all SSL traffic with no hassle.
So go to the http://proxy.man/ssl from your computer and download the cert from there and airdrop it to your phone, and then install it and trust it. Then it works just as it should.

@NghiaTranUIT
Copy link
Member

@GioPalusa if you can capture from your iPhone, it means the Proxy on your iPhone is working fine. You can access http://proxy.man/ssl to download it from your phone too.

If you can't, I guess it's HTTPS because Safari might use it by default.

@Bert-Harvey-kr
Copy link

Bert-Harvey-kr commented May 10, 2024

I was able to transfer the cert from my mac to my physical device running iOS 17.2.1 and it displays as installed and trusted, but i'm still not capturing anything though the proxy is set on the phone and traffic is getting through without issue. What am I failing to do here?

@NghiaTranUIT
Copy link
Member

@Bert-Harvey-kr it means your iPhone has a bug when setting the HTTP Proxy on Wifi to Proxyman. You can confirm that it's an Apple bug by:

  1. Open Setting app
  2. Wifi -> Your wifi -> Proxy
  3. Use any invalid IP and Port, for example: 192.1.1.1 and port 8000 -> Save
  4. Open Safari -> www.google.com -> If you can access the Internet -> It's a bug from Apple.

It's fixed on iOS 17.3 or later. You can find the doc at https://docs.proxyman.io/troubleshooting/ios-16-devices-issues

You should try to forget the network, restart your iPhone, or upgrade to the latest iOS 👍

@evancauwenberg
Copy link

Still an issue on iOS 17.5 developer beta, did all the possible trouble shooting :(

@Panajev
Copy link

Panajev commented Oct 11, 2024

Is this an issue with iOS 18 too?

@NghiaTranUIT
Copy link
Member

from what I know, iOS 18 works totally fine 👍 the bug is fixed.

@Panajev
Copy link

Panajev commented Oct 11, 2024

Thank you @NghiaTranUIT ! Would it be possible to update the official website docs to reference that iOS 18 is free from this bug please?

Also, I would guess this bug could be closed right? @evancauwenberg @Esquilli have you found that it is indeed solved for you on iOS 18?

@NghiaTranUIT NghiaTranUIT added the ✅ Done Ticket is addressed and fixed. label Oct 11, 2024
@NghiaTranUIT
Copy link
Member

It's updated on the doc 👍

If it doesn't work, try to forget your Wi-Fi and try again. I works on my iPad and iPhone, both iOS 18 👍

Screenshot 2024-10-11 at 9 17 31 PM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✅ Done Ticket is addressed and fixed.
Projects
None yet
Development

No branches or pull requests