Choosing Between Certificate Pinning and System Trust Store for TLS Validation in Appcelerator Titanium
0 reputation · 24 Jan 2025, 23:57 UTC
Goal: Determine whether to enable certificate pinning with a backup pin and forced‑update mechanism or to rely on the platform trust store together with App Transport Security (ATS) exceptions for TLS validation in Ti.Network.HTTPClient.
Constraint: Pinning protects against compromised CAs but causes hard failures when the server certificate rotates without an app update, whereas trusting the system store survives rotation automatically but accepts any certificate chained to a trusted CA, leaving the app vulnerable to MITM attacks from locally installed or fraudulently issued certs. ATS enforces TLS minimums and can block weak configurations, but broad exceptions may trigger App Store review scrutiny.
Which approach best balances security against MITM with minimal user impact during certificate rotation? How should a backup pin be managed to avoid hard failures when the primary pin expires? What ATS exception settings are acceptable for App Store review while still allowing necessary endpoints?