As asked
Explain how a TLS handshake works at a conceptual level and what the mobile OS checks by default when your app makes an HTTPS request without any custom URLSession configuration.
Sample answer outline
TLS: client hello, server sends certificate chain, client verifies chain against the OS trust store (checks signature, expiry, revocation via OCSP stapling on iOS, CRL/OCSP on Android), key exchange (ECDHE for forward secrecy), symmetric session keys derived, encrypted channel established. iOS default: ATS requires TLS 1.2+, forward secrecy ciphers, and 2048-bit RSA or 256-bit ECC keys. Android trusts the system CA store by default.
Expect these follow-ups
- What is OCSP stapling and why does it matter for app startup latency?
- How does Android's Network Security Config let you customize trust for debug builds only?