Backends SSL / TLS

sgcWebSockets propose quatre transports TLS interchangeables derrière une seule propriété, TLSOptions.IOHandler. Choisissez OpenSSL pour une portabilité maximale, ou un backend natif de plateforme (Windows SChannel, Android, iOS/macOS) qui utilise la pile TLS du système d'exploitation, sans aucune bibliothèque OpenSSL à déployer. Changer de backend tient en une ligne de code, rien d'autre ne change.

Quatre transports TLS, une seule propriété

Chaque backend se branche sur la même API TLSOptions. Choisissez celui qui correspond à votre plateforme et à votre déploiement, puis définissez TLSOptions.IOHandler.

Comparaison des backends

Plateformes, empreinte de déploiement, prise en charge de TLS 1.3 et édition pour chaque transport.

Backend Plateformes Bibliothèque à déployer TLS 1.3 Édition
OpenSSL Windows, Linux, macOS, iOS, Android OpenSSL (libssl/libcrypto) Oui Toutes les éditions
SChannel Windows Aucune (intégrée à Windows) Oui (Windows 11/Server 2022+) Professional, Enterprise
TLS Android Android Aucune (utilise le système d'exploitation) Oui Enterprise
TLS Apple iOS, macOS Aucune (utilise le système d'exploitation) Oui (10.14+/iOS 12+) Enterprise

Choisissez un backend

Chaque transport possède sa propre page avec la configuration complète, le code pour Delphi et C++Builder, les notes de déploiement et les détails d'édition.

OpenSSL (iohOpenSSL)

TLS multiplateforme sur le socket d'Indy, disponible sur chaque plateforme ciblée par sgcWebSockets et utilisé par défaut sur la plupart. TLS 1.0 à 1.3 complet, la plus large couverture de chiffrements, CA personnalisée, certificats client et ALPN. Vous déployez les bibliothèques d'exécution OpenSSL avec votre application. Inclus dans toutes les éditions.

Lire le guide complet →

SChannel (iohSChannel)

La pile TLS native de Microsoft (Secure Channel / SSPI), intégrée à Windows. Aucun déploiement de bibliothèque, aucune DLL OpenSSL à livrer ou à corriger, et elle utilise le magasin de certificats Windows. Windows uniquement. Inclus dans les éditions Professional et Enterprise.

Lire le guide complet →

TLS natif Android (iohAndroidTLS)

TLS natif Android utilisant le SSLEngine de la plateforme via JNI. Aucun .so OpenSSL dans votre APK, validation contre le magasin de confiance système d'Android, TLS 1.3 et ALPN sur Android 10 (API 29) et versions ultérieures. Édition Enterprise.

Lire le guide complet →

TLS natif Apple (iohAppleTLS)

TLS natif Apple pour iOS et macOS, sans aucun .dylib OpenSSL à déployer. Il sélectionne automatiquement Network.framework (TLS 1.3) sur macOS 10.14+ / iOS 12+ et revient à Secure Transport (TLS 1.2) sur les systèmes plus anciens, avec confiance système, SNI, CA personnalisée, certificat client / mTLS et ALPN. Édition Enterprise.

Lire le guide complet →

Note sur les éditions

Le TLS natif de plateforme, Android (iohAndroidTLS) et Apple (iohAppleTLS), nécessite l'édition Enterprise. OpenSSL (iohOpenSSL) est inclus dans toutes les éditions ; SChannel (iohSChannel) est inclus dans les éditions Professional et Enterprise.

Changez avec une seule ligne

Les quatre backends partagent la même API TLSOptions, donc passer de l'un à l'autre se résume à un changement de propriété. Rien d'autre dans votre code n'a à changer.

TLS & VerifyCertificate

Activez TLS et basculez la vérification du certificat du pair de la même manière sur chaque backend.

RootCertFile

Pointez vers une racine CA personnalisée pour faire confiance à une autorité de certification privée ou auto-signée.

CertFile & Password

Fournissez un certificat client et son mot de passe pour l'authentification mutuelle TLS (mTLS).

ALPNProtocols

Annoncez les protocoles applicatifs (par exemple http/1.1) pendant la négociation TLS.

// Mêmes TLSOptions, seule la ligne IOHandler change selon la plateforme.
WSClient.TLS := True;
WSClient.TLSOptions.IOHandler := iohOpenSSL;   // ou iohSChannel / iohAndroidTLS / iohAppleTLS
WSClient.TLSOptions.VerifyCertificate := True;
WSClient.TLSOptions.RootCertFile := '';
WSClient.TLSOptions.CertFile := '';
WSClient.TLSOptions.Password := '';
WSClient.TLSOptions.ALPNProtocols.Add('http/1.1');
WSClient.Active := True;
// Mêmes TLSOptions, seule la ligne IOHandler change selon la plateforme.
WSClient->TLS = true;
WSClient->TLSOptions->IOHandler = iohOpenSSL;   // ou iohSChannel / iohAndroidTLS / iohAppleTLS
WSClient->TLSOptions->VerifyCertificate = true;
WSClient->TLSOptions->RootCertFile = "";
WSClient->TLSOptions->CertFile = "";
WSClient->TLSOptions->Password = "";
WSClient->TLSOptions->ALPNProtocols->Add("http/1.1");
WSClient->Active = true;

TLS natif, zéro OpenSSL à déployer

Téléchargez l'essai gratuit et changez de backend TLS avec une seule ligne de code.