Backend TLS natif Apple

Le TLS natif Apple (iohAppleTLS) est le transport TLS iOS et macOS de sgcWebSockets, sans aucun .dylib OpenSSL à déployer. Il sélectionne automatiquement la meilleure API système pour l'appareil, vous obtenez donc TLS 1.3 sur les systèmes récents sans modifier le moindre code. Activez-le en définissant TLSOptions.IOHandler sur iohAppleTLS.

← Tous les backends TLS

TLS natif Apple (iohAppleTLS)

TLS natif Apple pour iOS et macOS, sans aucun .dylib OpenSSL à déployer.

Le TLS natif Apple permet à vos applications iOS et macOS d'utiliser le TLS du système d'exploitation, il n'y a donc aucun .dylib OpenSSL à embarquer, à aligner en version ni à corriger. Apple maintient la pile TLS, ce qui garde votre application alignée sur la politique de sécurité de la plateforme et supprime une dépendance tierce de votre publication.

Le backend sélectionne automatiquement la meilleure API système pour chaque appareil, le tout derrière le seul réglage iohAppleTLS. Sur macOS 10.14+ et iOS 12+ il utilise Network.framework, qui apporte TLS 1.3. Sur les systèmes plus anciens il revient à Secure Transport, qui plafonne à TLS 1.2. Vous ne créez pas de branche selon la version du système d'exploitation, le backend choisit le bon chemin et votre code reste le même.

C'est un client TLS complet, pas une version allégée. Il utilise le magasin de confiance système, effectue le SNI et la vérification du nom d'hôte, et expose un rappel OnAppleTLSVerifyPeer pour une validation personnalisée. Vous pouvez faire confiance à une autorité privée avec une racine CA personnalisée (RootCertFile), présenter un certificat client pour le TLS mutuel (CertFile + Password) et annoncer des protocoles applicatifs tels que http/1.1 via ALPN. Choisissez ce backend pour les applications de l'App Store qui veulent un TLS 1.3 maintenu par le système d'exploitation et aucune cryptographie tierce à gérer.

Activer le TLS natif Apple

Définissez TLSOptions.IOHandler sur iohAppleTLS, puis utilisez les mêmes TLSOptions que pour tout autre backend.

WSClient.TLS := True;
WSClient.TLSOptions.IOHandler := iohAppleTLS;
WSClient.TLSOptions.ALPNProtocols.Add('http/1.1');
WSClient.TLSOptions.RootCertFile := '';   // CA personnalisée optionnelle (PEM/DER)
WSClient.TLSOptions.CertFile := '';       // certificat client optionnel (PKCS#12) pour mTLS
WSClient.TLSOptions.Password := '';       // mot de passe du certificat client
WSClient.TLSOptions.VerifyCertificate := True;
WSClient.OnAppleTLSVerifyPeer := DoVerifyPeer;  // validation personnalisée optionnelle
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 = "";   // CA personnalisée optionnelle (PEM/DER)
WSClient->TLSOptions->CertFile = "";       // certificat client optionnel (PKCS#12) pour mTLS
WSClient->TLSOptions->Password = "";       // mot de passe du certificat client
WSClient->TLSOptions->VerifyCertificate = true;
WSClient->OnAppleTLSVerifyPeer = DoVerifyPeer;  // validation personnalisée optionnelle
WSClient->Host = "your.server.com";
WSClient->Port = 443;
WSClient->Active = true;

Aucun .dylib OpenSSL

La pile TLS est livrée avec le système d'exploitation, et le backend choisit la bonne API selon l'appareil.

Network.framework

Sur macOS 10.14+ et iOS 12+ le backend utilise Network.framework, qui apporte TLS 1.3.

Repli sur Secure Transport

Sur les systèmes plus anciens il revient à Secure Transport (TLS 1.2), automatiquement et derrière le même réglage.

Confiance système & SNI

Il utilise le magasin de confiance système avec SNI et vérification du nom d'hôte, plus OnAppleTLSVerifyPeer pour des contrôles personnalisés.

CA personnalisée & mTLS

Faites confiance à une CA privée avec RootCertFile, présentez un certificat client avec CertFile + Password, et annoncez des protocoles ALPN.

Note sur les éditions

Le TLS natif Apple (iohAppleTLS) nécessite l'édition Enterprise de sgcWebSockets. Consultez la matrice des fonctionnalités pour le détail complet.

TLS natif Apple 1.3, zéro OpenSSL

Téléchargez l'essai gratuit et livrez des applications iOS et macOS sans aucun .dylib OpenSSL à déployer.