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.
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.
Code
Native Android-TLS inschakelen
Zet TLSOptions.IOHandler op iohAndroidTLS in je Android-build. Er is geen OpenSSL .so nodig.