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.
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.
Code
Natives Android-TLS aktivieren
Setze TLSOptions.IOHandler in deinem Android-Build auf iohAndroidTLS. Es wird keine OpenSSL-.so benötigt.