Native Apple-TLS (iohAppleTLS) is het iOS- en macOS-TLS-transport voor sgcWebSockets, zonder OpenSSL .dylib te implementeren. Het selecteert automatisch de beste systeem-API voor het apparaat, dus je krijgt TLS 1.3 op moderne systemen zonder code te wijzigen. Schakel het in door TLSOptions.IOHandler op iohAppleTLS te zetten.
Apple-native TLS voor iOS en macOS, zonder OpenSSL .dylib te implementeren.
Native Apple-TLS laat je iOS- en macOS-apps de eigen TLS van het besturingssysteem gebruiken, dus er is geen OpenSSL .dylib om te bundelen, versiegelijk te maken of te patchen. Apple onderhoudt de TLS-stack, wat je app in lijn houdt met het beveiligingsbeleid van het platform en een externe afhankelijkheid uit je release verwijdert.
De backend selecteert automatisch de beste systeem-API voor elk apparaat, allemaal achter de enkele iohAppleTLS-instelling. Op macOS 10.14+ en iOS 12+ gebruikt het Network.framework, dat TLS 1.3 brengt. Op oudere systemen valt het terug op Secure Transport, dat maximaal TLS 1.2 ondersteunt. Je vertakt niet op OS-versie, de backend kiest het juiste pad en je code blijft hetzelfde.
Het is een volledige TLS-client, geen uitgeklede. Het gebruikt de systeemvertrouwensopslag, voert SNI en hostnaamverificatie uit, en biedt een OnAppleTLSVerifyPeer-callback voor custom validatie. Je kunt een privé-autoriteit vertrouwen met een custom CA-root (RootCertFile), een clientcertificaat presenteren voor mutual TLS (CertFile + Password), en applicatieprotocollen zoals http/1.1 adverteren via ALPN. Kies deze backend voor App Store-apps die OS-onderhouden TLS 1.3 willen en geen externe crypto om te beheren.
Code
Native Apple-TLS inschakelen
Zet TLSOptions.IOHandler op iohAppleTLS en gebruik vervolgens dezelfde TLSOptions als bij elke andere backend.