Natives Android-TLS-Backend

Natives Android-TLS (iohAndroidTLS) ist der Android-native TLS-Transport für sgcWebSockets. Es treibt die plattformeigene javax.net.ssl.SSLEngine über JNI an, sodass deine APK keine OpenSSL-.so-Dateien mitliefert. Aktiviere es, indem du TLSOptions.IOHandler auf iohAndroidTLS setzt.

← Alle TLS-Backends

Natives Android-TLS (iohAndroidTLS)

Android-natives TLS über die SSLEngine der Plattform via JNI. Keine OpenSSL-.so in deiner APK.

Natives Android-TLS übergibt die Verschlüsselung an Android selbst. sgcWebSockets ruft die plattformeigene javax.net.ssl.SSLEngine über JNI auf, sodass das Betriebssystem den Handshake, die Datensatzverschlüsselung und die Zertifikatsarbeit übernimmt. Der unmittelbare Vorteil ist, dass deine APK keine OpenSSL-.so-Dateien trägt. Das Paket ist kleiner, und du patchst oder gleichst nie eine Krypto-Bibliothek eines Drittanbieters versionsgenau ab, weil der TLS-Stack vom Betriebssystem gepflegt und aktualisiert wird.

Das Backend validiert den Server gegen den Android-Systemvertrauensspeicher und führt eine Hostnamen-Prüfung durch, sodass Verbindungen zu bekannten Zertifizierungsstellen ohne zusätzliche Konfiguration funktionieren. Es handelt TLS 1.3 aus und unterstützt ALPN ab Android 10 (API 29), womit du Anwendungsprotokolle wie http/1.1 während des Handshakes ankündigen kannst.

Wähle dieses Backend für Android-Apps, die das Ausliefern oder Patchen von OpenSSL vermeiden müssen oder die sich vollständig auf die TLS-Richtlinie der Plattform verlassen wollen. Wie jedes sgcWebSockets-Backend sitzt es hinter derselben TLSOptions-API, sodass der Rest deines Netzwerkcodes mit den OpenSSL-, SChannel- und Apple-Pfaden identisch ist und sich je Plattform nur die IOHandler-Zeile ändert.

Natives Android-TLS aktivieren

Setze TLSOptions.IOHandler in deinem Android-Build auf iohAndroidTLS. Es wird keine OpenSSL-.so benötigt.

uses
  sgcWebSocket, sgcWebSocket_Types;
// ...
WSClient.TLS := True;
WSClient.TLSOptions.IOHandler := iohAndroidTLS;
WSClient.TLSOptions.VerifyCertificate := True;
WSClient.TLSOptions.ALPNProtocols.Add('http/1.1');  // Android 10 (API 29)+
WSClient.Host := 'your.server.com';
WSClient.Port := 443;
WSClient.Active := True;
WSClient->TLS = true;
WSClient->TLSOptions->IOHandler = iohAndroidTLS;
WSClient->TLSOptions->VerifyCertificate = true;
WSClient->TLSOptions->ALPNProtocols->Add("http/1.1");  // Android 10 (API 29)+
WSClient->Host = "your.server.com";
WSClient->Port = 443;
WSClient->Active = true;

Kein OpenSSL in der APK

Der TLS-Stack lebt bereits auf dem Gerät, sodass dein Paket schlank bleibt und das Betriebssystem die Updates besitzt.

Keine .so zum Bündeln

Die APK wird ohne libssl oder libcrypto ausgeliefert, sodass das Paket kleiner ist und es keine native Krypto zu pflegen gibt.

Systemvertrauensspeicher

Die Validierung läuft gegen den Android-Systemvertrauensspeicher mit Hostnamen-Prüfung, kein zusätzliches Setup für öffentliche CAs.

TLS 1.3

Die Plattform handelt TLS 1.3 aus, und ALPN ist ab Android 10 (API 29) zur Protokollauswahl verfügbar.

Vom Betriebssystem gepflegt

Android besitzt die TLS-Implementierung, sodass Sicherheitsfixes über Systemupdates statt über deinen Release-Zyklus kommen.

Edition-Hinweis

Natives Android-TLS (iohAndroidTLS) erfordert die Enterprise-Edition von sgcWebSockets. Siehe die Feature-Matrix für die vollständige Aufschlüsselung.

Natives Android-TLS, kein OpenSSL

Lade die kostenlose Testversion herunter und liefere Android-Apps ohne auszuliefernde OpenSSL-.so aus.