SSL / TLS-backends — sgcWebSockets | eSeGeCe

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. Op Windows kan OpenSSL zelf ook statisch worden gekoppeld in je uitvoerbare bestand, zodat je bij OpenSSL kunt blijven zonder ook maar iets te hoeven 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 libssl/libcrypto, of geen op Windows (statische koppeling) 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. Op Windows kan het in plaats daarvan ook statisch worden gekoppeld in het uitvoerbare bestand, zonder iets te implementeren.

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. Statische koppeling van OpenSSL op Windows vereist eveneens Enterprise of All-Access.

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;
De beste deal: All-AccessElk eSeGeCe-product, inclusief Premium-ondersteuning, vanaf €1,059 per jaar.
Bekijk de All-Access-prijzen

Native TLS, geen OpenSSL te implementeren

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