SSL- / TLS-Backends — sgcWebSockets | eSeGeCe

SSL- / TLS-Backends

sgcWebSockets liefert vier austauschbare TLS-Transporte hinter einer einzigen Eigenschaft, TLSOptions.IOHandler. Wähle OpenSSL für maximale Portabilität oder ein natives Plattform-Backend (Windows SChannel, Android, iOS/macOS), das den eigenen TLS-Stack des Betriebssystems nutzt, ohne OpenSSL-Bibliotheken ausliefern zu müssen. Unter Windows lässt sich OpenSSL selbst zudem statisch in deine ausführbare Datei einbinden, sodass du bei OpenSSL bleiben kannst, ebenfalls ohne etwas ausliefern zu müssen. Der Wechsel des Backends ist eine einzige Codezeile, sonst ändert sich nichts.

Vier TLS-Transporte, eine Eigenschaft

Jedes Backend hängt sich an dieselbe TLSOptions-API. Wähle das passende für deine Plattform und Auslieferung, und setze dann TLSOptions.IOHandler.

Backend-Vergleich

Plattformen, Auslieferungsaufwand, TLS-1.3-Unterstützung und Edition für jeden Transport.

Backend Plattformen Auszuliefernde Bibliothek TLS 1.3 Edition
OpenSSL Windows, Linux, macOS, iOS, Android libssl/libcrypto, oder unter Windows keine (statische Verknüpfung) Ja Alle Editionen
SChannel Windows Keine (in Windows integriert) Ja (Windows 11/Server 2022+) Professional, Enterprise
Android-TLS Android Keine (nutzt das Betriebssystem) Ja Enterprise
Apple-TLS iOS, macOS Keine (nutzt das Betriebssystem) Ja (10.14+/iOS 12+) Enterprise

Wähle ein Backend

Jeder Transport hat seine eigene Seite mit der vollständigen Einrichtung, Code für Delphi und C++ Builder, Hinweisen zur Auslieferung und Edition-Details.

OpenSSL (iohOpenSSL)

Plattformübergreifendes TLS über Indys Socket, verfügbar auf jeder Plattform, die sgcWebSockets unterstützt, und auf den meisten der Standard. Volles TLS 1.0 bis 1.3, die breiteste Cipher-Abdeckung, eigene CA, Client-Zertifikate und ALPN. Du lieferst die OpenSSL-Laufzeitbibliotheken mit deiner App aus. In jeder Edition enthalten. Unter Windows lässt es sich stattdessen auch statisch in die ausführbare Datei einbinden, ganz ohne etwas auszuliefern.

Vollständige Anleitung lesen →

SChannel (iohSChannel)

Microsofts nativer TLS-Stack (Secure Channel / SSPI), in Windows integriert. Keine Bibliotheksauslieferung, keine OpenSSL-DLLs zum Mitliefern oder Patchen, und er nutzt den Windows-Zertifikatspeicher. Nur Windows. In den Editionen Professional und Enterprise enthalten.

Vollständige Anleitung lesen →

Natives Android-TLS (iohAndroidTLS)

Android-natives TLS über die SSLEngine der Plattform via JNI. Keine OpenSSL-.so in deiner APK, Validierung gegen den Android-Systemvertrauensspeicher, TLS 1.3 und ALPN ab Android 10 (API 29). Enterprise-Edition.

Vollständige Anleitung lesen →

Natives Apple-TLS (iohAppleTLS)

Apple-natives TLS für iOS und macOS, ohne OpenSSL-.dylib zum Ausliefern. Es wählt auf macOS 10.14+ / iOS 12+ automatisch Network.framework (TLS 1.3) und fällt auf älteren Systemen auf Secure Transport (TLS 1.2) zurück, mit Systemvertrauen, SNI, eigener CA, Client-Zertifikat / mTLS und ALPN. Enterprise-Edition.

Vollständige Anleitung lesen →

Edition-Hinweis

Natives Plattform-TLS, Android (iohAndroidTLS) und Apple (iohAppleTLS), erfordert die Enterprise-Edition. OpenSSL (iohOpenSSL) ist in jeder Edition enthalten; SChannel (iohSChannel) ist in den Editionen Professional und Enterprise enthalten. Die statische Verknüpfung von OpenSSL unter Windows erfordert ebenfalls Enterprise oder All-Access.

Mit einer Zeile wechseln

Alle vier Backends teilen sich dieselbe TLSOptions-API, sodass der Wechsel zwischen ihnen eine einzige Eigenschaftsänderung ist. Sonst muss sich nichts in deinem Code ändern.

TLS & VerifyCertificate

Aktiviere TLS und schalte die Peer-Zertifikatsprüfung auf jedem Backend auf dieselbe Weise um.

RootCertFile

Zeige auf eine eigene CA-Root, um einer privaten oder selbstsignierten Zertifizierungsstelle zu vertrauen.

CertFile & Password

Gib ein Client-Zertifikat und sein Passwort für die wechselseitige TLS-Authentifizierung (mTLS) an.

ALPNProtocols

Kündige Anwendungsprotokolle (zum Beispiel http/1.1) während des TLS-Handshakes an.

// Dieselben TLSOptions, nur die IOHandler-Zeile ändert sich je Plattform.
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;
// Dieselben TLSOptions, nur die IOHandler-Zeile ändert sich je Plattform.
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;
Bestes Preis-Leistungs-Verhältnis: All-AccessAlle eSeGeCe-Produkte, inklusive Premium-Support, ab €1,059 pro Jahr.
All-Access-Preise ansehen

Natives TLS, kein OpenSSL zum Ausliefern

Lade die kostenlose Testversion herunter und wechsle TLS-Backends mit einer einzigen Codezeile.