Most apps work, but not everyone.
Often called certificate pinning.
Most apps work, but not everyone.
Often called certificate pinning.
Or they could say "All apps that don't support custom certificates for https will be denied app store approval".
Banning certificate pinning... Do we really need mandated insecurity by prohibiting apps from doing better than trusting all Apple-trusted CAs around the world?
Where, in the latter case, the TLS establishment is opaque, but then the VPN is handed the data that would be going through the TLS logic, plus an (also-opaque) handle to the established TLS-session RSA key, that it can use to finish the encryption/decryption process of each stream-chunk on behalf of the app, after doing whatever filtering / transformation / etc. it wants to do.
(Anyone remember Privoxy, the “MITM that works for you” that presaged most of the in-client features of Tor Browser? Same idea; just now with OS support.)
Any apps that set up certificate pinning this way could be bypassed by Apple, though obviously there would be little value in them doing it since that'd just lead to app developers doing what you're describing instead.
Though if I'm understanding this correctly, jailbroken phones could probably bypass it by modifying an app's Info.plist and running the app despite the broken signature.
The former enabled cert pinning (partially) as a response to a MITM[1] from the latter.
[1]: https://arstechnica.com/tech-policy/2024/03/facebook-secretl...
The biggest pain is Flutter apps, which come with their own native TLS stack.