Native Apple-TLS-backend

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.

← Alle TLS-backends

Native Apple-TLS (iohAppleTLS)

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.

Native Apple-TLS inschakelen

Zet TLSOptions.IOHandler op iohAppleTLS en gebruik vervolgens dezelfde TLSOptions als bij elke andere backend.

WSClient.TLS := True;
WSClient.TLSOptions.IOHandler := iohAppleTLS;
WSClient.TLSOptions.ALPNProtocols.Add('http/1.1');
WSClient.TLSOptions.RootCertFile := '';   // optional custom CA (PEM/DER)
WSClient.TLSOptions.CertFile := '';       // optional client cert (PKCS#12) for mTLS
WSClient.TLSOptions.Password := '';       // client cert password
WSClient.TLSOptions.VerifyCertificate := True;
WSClient.OnAppleTLSVerifyPeer := DoVerifyPeer;  // optional custom validation
WSClient.Host := 'your.server.com';
WSClient.Port := 443;
WSClient.Active := True;
WSClient->TLS = true;
WSClient->TLSOptions->IOHandler = iohAppleTLS;
WSClient->TLSOptions->ALPNProtocols->Add("http/1.1");
WSClient->TLSOptions->RootCertFile = "";   // optional custom CA (PEM/DER)
WSClient->TLSOptions->CertFile = "";       // optional client cert (PKCS#12) for mTLS
WSClient->TLSOptions->Password = "";       // client cert password
WSClient->TLSOptions->VerifyCertificate = true;
WSClient->OnAppleTLSVerifyPeer = DoVerifyPeer;  // optional custom validation
WSClient->Host = "your.server.com";
WSClient->Port = 443;
WSClient->Active = true;

Geen OpenSSL .dylib

De TLS-stack wordt met het besturingssysteem meegeleverd, en de backend kiest de juiste API per apparaat.

Network.framework

Op macOS 10.14+ en iOS 12+ gebruikt de backend Network.framework, dat TLS 1.3 brengt.

Secure Transport-fallback

Op oudere systemen valt het terug op Secure Transport (TLS 1.2), automatisch en achter dezelfde instelling.

Systeemvertrouwen & SNI

Het gebruikt de systeemvertrouwensopslag met SNI en hostnaamverificatie, plus OnAppleTLSVerifyPeer voor custom controles.

Custom CA & mTLS

Vertrouw een privé-CA met RootCertFile, presenteer een clientcert met CertFile + Password, en adverteer ALPN-protocollen.

Editie-opmerking

Native Apple-TLS (iohAppleTLS) vereist de Enterprise-editie van sgcWebSockets. Zie de feature matrix voor de volledige uitsplitsing.

Native Apple-TLS 1.3, geen OpenSSL

Download de gratis proefversie en verzend iOS- en macOS-apps zonder OpenSSL .dylib te implementeren.