Natives Apple-TLS-Backend

Natives Apple-TLS (iohAppleTLS) ist der TLS-Transport für iOS und macOS in sgcWebSockets, ohne OpenSSL-.dylib zum Ausliefern. Es wählt automatisch die beste System-API für das Gerät, sodass du auf modernen Systemen TLS 1.3 erhältst, ohne Code zu ändern. Aktiviere es, indem du TLSOptions.IOHandler auf iohAppleTLS setzt.

← Alle TLS-Backends

Natives Apple-TLS (iohAppleTLS)

Apple-natives TLS für iOS und macOS, ohne OpenSSL-.dylib zum Ausliefern.

Natives Apple-TLS lässt deine iOS- und macOS-Apps das betriebssystemeigene TLS nutzen, sodass es keine OpenSSL-.dylib zum Bündeln, versionsgenauen Abgleich oder Patchen gibt. Apple pflegt den TLS-Stack, was deine App an der Sicherheitsrichtlinie der Plattform ausrichtet und eine Drittanbieter-Abhängigkeit aus deinem Release entfernt.

Das Backend wählt automatisch die beste System-API für jedes Gerät, alles hinter der einzigen Einstellung iohAppleTLS. Auf macOS 10.14+ und iOS 12+ nutzt es Network.framework, das TLS 1.3 mitbringt. Auf älteren Systemen fällt es auf Secure Transport zurück, das bei TLS 1.2 endet. Du verzweigst nicht nach OS-Version, das Backend wählt den richtigen Pfad und dein Code bleibt gleich.

Es ist ein vollständiger TLS-Client, kein abgespeckter. Es nutzt den Systemvertrauensspeicher, führt SNI und Hostnamen-Prüfung durch und stellt einen OnAppleTLSVerifyPeer-Callback für eigene Validierung bereit. Du kannst einer privaten Zertifizierungsstelle mit einer eigenen CA-Root (RootCertFile) vertrauen, ein Client-Zertifikat für wechselseitiges TLS (CertFile + Password) vorlegen und Anwendungsprotokolle wie http/1.1 über ALPN ankündigen. Wähle dieses Backend für App-Store-Apps, die OS-gepflegtes TLS 1.3 und keine zu verwaltende Drittanbieter-Krypto wollen.

Natives Apple-TLS aktivieren

Setze TLSOptions.IOHandler auf iohAppleTLS und verwende dann dieselben TLSOptions wie bei jedem anderen 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;

Keine OpenSSL-.dylib

Der TLS-Stack wird mit dem Betriebssystem ausgeliefert, und das Backend wählt die richtige API je Gerät.

Network.framework

Auf macOS 10.14+ und iOS 12+ nutzt das Backend Network.framework, das TLS 1.3 mitbringt.

Secure-Transport-Fallback

Auf älteren Systemen fällt es auf Secure Transport (TLS 1.2) zurück, automatisch und hinter derselben Einstellung.

Systemvertrauen & SNI

Es nutzt den Systemvertrauensspeicher mit SNI und Hostnamen-Prüfung, plus OnAppleTLSVerifyPeer für eigene Prüfungen.

Eigene CA & mTLS

Vertraue einer privaten CA mit RootCertFile, lege ein Client-Zertifikat mit CertFile + Password vor und kündige ALPN-Protokolle an.

Edition-Hinweis

Natives Apple-TLS (iohAppleTLS) erfordert die Enterprise-Edition von sgcWebSockets. Siehe die Feature-Matrix für die vollständige Aufschlüsselung.

Natives Apple-TLS 1.3, kein OpenSSL

Lade die kostenlose Testversion herunter und liefere iOS- und macOS-Apps ohne auszuliefernde OpenSSL-.dylib aus.