Native Android-TLS-backend

Native Android-TLS (iohAndroidTLS) is het Android-native TLS-transport voor sgcWebSockets. Het stuurt de eigen javax.net.ssl.SSLEngine van het platform aan via JNI, dus je APK verzendt geen OpenSSL .so-bestanden. Schakel het in door TLSOptions.IOHandler op iohAndroidTLS te zetten.

← Alle TLS-backends

Native Android-TLS (iohAndroidTLS)

Android-native TLS via de SSLEngine van het platform door middel van JNI. Geen OpenSSL .so in je APK.

Native Android-TLS laat de versleuteling over aan Android zelf. sgcWebSockets roept de javax.net.ssl.SSLEngine van het platform aan via JNI, zodat het besturingssysteem de handshake, de recordversleuteling en het certificaatwerk uitvoert. Het directe voordeel is dat je APK geen OpenSSL .so-bestanden bevat. Het pakket is kleiner, en je patcht of versiegelijkt nooit een externe crypto-bibliotheek, omdat de TLS-stack door het OS wordt onderhouden en bijgewerkt.

De backend valideert de server tegen de Android-systeemvertrouwensopslag en voert hostnaamverificatie uit, zodat verbindingen met bekende certificaatautoriteiten zonder extra configuratie werken. Het onderhandelt TLS 1.3, en het ondersteunt ALPN op Android 10 (API 29) en later, waarmee je applicatieprotocollen zoals http/1.1 tijdens de handshake kunt adverteren.

Kies deze backend voor Android-apps die het verzenden of patchen van OpenSSL moeten vermijden, of die liever volledig op het TLS-beleid van het platform vertrouwen. Net als elke sgcWebSockets-backend zit het achter dezelfde TLSOptions-API, dus de rest van je netwerkcode is identiek aan de paden voor OpenSSL, SChannel en Apple, waarbij alleen de IOHandler-regel per platform verandert.

Native Android-TLS inschakelen

Zet TLSOptions.IOHandler op iohAndroidTLS in je Android-build. Er is geen OpenSSL .so nodig.

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;

Geen OpenSSL in de APK

De TLS-stack staat al op het apparaat, dus je pakket blijft slank en het OS beheert de updates.

Geen .so te bundelen

De APK verzendt zonder libssl of libcrypto, dus het pakket is kleiner en er is geen native crypto om te onderhouden.

Systeemvertrouwensopslag

Validatie loopt tegen de Android-systeemvertrouwensopslag met hostnaamverificatie, geen extra setup voor publieke CA's.

TLS 1.3

Het platform onderhandelt TLS 1.3, en ALPN is beschikbaar op Android 10 (API 29) en later voor protocolselectie.

OS-onderhouden

Android beheert de TLS-implementatie, dus beveiligingsfixes arriveren via systeemupdates in plaats van via jouw releasecyclus.

Editie-opmerking

Native Android-TLS (iohAndroidTLS) vereist de Enterprise-editie van sgcWebSockets. Zie de feature matrix voor de volledige uitsplitsing.

Native Android-TLS, geen OpenSSL

Download de gratis proefversie en verzend Android-apps zonder OpenSSL .so te implementeren.