SSL / TLS-backends

sgcWebSockets levert vier uitwisselbare TLS-transports achter één enkele eigenschap, TLSOptions.IOHandler. Kies OpenSSL voor maximale portabiliteit, of een native platform-backend (Windows SChannel, Android, iOS/macOS) die de eigen TLS-stack van het besturingssysteem gebruikt zonder OpenSSL-bibliotheken te implementeren. Van backend wisselen is één regel code, verder verandert er niets.

Vier TLS-transports, één eigenschap

Elke backend sluit aan op dezelfde TLSOptions-API. Kies degene die bij je platform en implementatie past en stel vervolgens TLSOptions.IOHandler in.

Backend-vergelijking

Platforms, implementatie-footprint, TLS 1.3-ondersteuning en editie voor elk transport.

Backend Platforms Te implementeren bibliotheek TLS 1.3 Editie
OpenSSL Windows, Linux, macOS, iOS, Android OpenSSL (libssl/libcrypto) Ja Alle edities
SChannel Windows Geen (ingebouwd in Windows) Ja (Windows 11/Server 2022+) Professional, Enterprise
Android-TLS Android Geen (gebruikt het OS) Ja Enterprise
Apple-TLS iOS, macOS Geen (gebruikt het OS) Ja (10.14+/iOS 12+) Enterprise

Kies een backend

Elk transport heeft een eigen pagina met de volledige setup, code voor Delphi en C++Builder, implementatienotities en editiedetails.

OpenSSL (iohOpenSSL)

Cross-platform TLS over de socket van Indy, beschikbaar op elk platform dat sgcWebSockets ondersteunt en op de meeste de standaard. Volledige TLS 1.0 tot 1.3, de breedste cipher-dekking, custom CA, clientcertificaten en ALPN. Je implementeert de OpenSSL-runtime-bibliotheken samen met je app. Inbegrepen in elke editie.

Lees de volledige handleiding →

SChannel (iohSChannel)

Microsofts native TLS-stack (Secure Channel / SSPI), ingebouwd in Windows. Geen bibliotheek-implementatie, geen OpenSSL-DLL's om te verzenden of te patchen, en het gebruikt de Windows-certificaatopslag. Alleen Windows. Inbegrepen in de edities Professional en Enterprise.

Lees de volledige handleiding →

Native Android-TLS (iohAndroidTLS)

Android-native TLS via de SSLEngine van het platform door middel van JNI. Geen OpenSSL .so in je APK, validatie tegen de Android-systeemvertrouwensopslag, TLS 1.3 en ALPN op Android 10 (API 29) en later. Enterprise-editie.

Lees de volledige handleiding →

Native Apple-TLS (iohAppleTLS)

Apple-native TLS voor iOS en macOS, zonder OpenSSL .dylib te implementeren. Het selecteert automatisch Network.framework (TLS 1.3) op macOS 10.14+ / iOS 12+ en valt terug op Secure Transport (TLS 1.2) op oudere systemen, met systeemvertrouwen, SNI, custom CA, clientcert / mTLS en ALPN. Enterprise-editie.

Lees de volledige handleiding →

Editie-opmerking

Native platform-TLS, Android (iohAndroidTLS) en Apple (iohAppleTLS), vereist de Enterprise-editie. OpenSSL (iohOpenSSL) is inbegrepen in elke editie; SChannel (iohSChannel) is inbegrepen in de edities Professional en Enterprise.

Wissel met één regel

Alle vier backends delen dezelfde TLSOptions-API, dus ertussen wisselen is één enkele eigenschapswijziging. Niets anders in je code hoeft te veranderen.

TLS & VerifyCertificate

Schakel TLS in en zet peer-certificaatverificatie aan of uit op dezelfde manier voor elke backend.

RootCertFile

Wijs naar een custom CA-root om een privé- of zelfondertekende certificaatautoriteit te vertrouwen.

CertFile & Password

Lever een clientcertificaat en het bijbehorende wachtwoord aan voor mutual TLS (mTLS)-authenticatie.

ALPNProtocols

Adverteer applicatieprotocollen (bijvoorbeeld http/1.1) tijdens de TLS-handshake.

// Same TLSOptions, only the IOHandler line changes per platform.
WSClient.TLS := True;
WSClient.TLSOptions.IOHandler := iohOpenSSL;   // or 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;
// Same TLSOptions, only the IOHandler line changes per platform.
WSClient->TLS = true;
WSClient->TLSOptions->IOHandler = iohOpenSSL;   // or 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;

Native TLS, geen OpenSSL te implementeren

Download de gratis proefversie en wissel van TLS-backend met één enkele regel code.