Natywny backend TLS systemu Android

Natywny TLS systemu Android (iohAndroidTLS) to natywny dla systemu Android transport TLS dla sgcWebSockets. Steruje własnym javax.net.ssl.SSLEngine platformy za pośrednictwem JNI, więc Twój pakiet APK nie dostarcza żadnych plików OpenSSL .so. Włącz go, ustawiając TLSOptions.IOHandler na iohAndroidTLS.

← Wszystkie backendy TLS

Natywny TLS systemu Android (iohAndroidTLS)

Natywny TLS systemu Android wykorzystujący platformowy SSLEngine za pośrednictwem JNI. Brak pliku OpenSSL .so w pakiecie APK.

Natywny TLS systemu Android przekazuje szyfrowanie samemu Androidowi. sgcWebSockets wywołuje platformowy javax.net.ssl.SSLEngine za pośrednictwem JNI, więc system operacyjny wykonuje uzgadnianie, szyfrowanie rekordów i pracę z certyfikatami. Bezpośrednią korzyścią jest to, że Twój pakiet APK nie zawiera żadnych plików OpenSSL .so. Pakiet jest mniejszy, a Ty nigdy nie łatasz ani nie dopasowujesz wersji biblioteki kryptograficznej firm trzecich, ponieważ stos TLS jest utrzymywany i aktualizowany przez system operacyjny.

Backend weryfikuje serwer względem systemowego magazynu zaufania Android i wykonuje weryfikację nazwy hosta, więc połączenia z dobrze znanymi urzędami certyfikacji działają bez dodatkowej konfiguracji. Negocjuje TLS 1.3 i obsługuje ALPN na Androidzie 10 (API 29) i nowszych, co pozwala ogłaszać protokoły aplikacyjne, takie jak http/1.1, podczas uzgadniania.

Wybierz ten backend dla aplikacji Android, które muszą unikać dostarczania lub łatania OpenSSL albo wolą całkowicie powierzyć się polityce TLS platformy. Jak każdy backend sgcWebSockets, znajduje się za tym samym API TLSOptions, więc reszta Twojego kodu sieciowego jest identyczna ze ścieżkami OpenSSL, SChannel i Apple, a zmienia się tylko linia IOHandler dla każdej platformy.

Włącz natywny TLS systemu Android

Ustaw TLSOptions.IOHandler na iohAndroidTLS w swojej kompilacji dla Android. Plik OpenSSL .so nie jest potrzebny.

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;

Brak OpenSSL w pakiecie APK

Stos TLS już znajduje się na urządzeniu, więc Twój pakiet pozostaje lekki, a system operacyjny przejmuje aktualizacje.

Brak pliku .so do dołączenia

Pakiet APK jest dostarczany bez libssl ani libcrypto, więc pakiet jest mniejszy i nie ma natywnej kryptografii do utrzymywania.

Systemowy magazyn zaufania

Walidacja przebiega względem systemowego magazynu zaufania Android z weryfikacją nazwy hosta, bez dodatkowej konfiguracji dla publicznych urzędów CA.

TLS 1.3

Platforma negocjuje TLS 1.3, a ALPN jest dostępny na Androidzie 10 (API 29) i nowszych do wyboru protokołu.

Utrzymywany przez system

Android jest właścicielem implementacji TLS, więc poprawki bezpieczeństwa docierają przez aktualizacje systemu, a nie przez Twój cykl wydawniczy.

Uwaga o edycji

Natywny TLS systemu Android (iohAndroidTLS) wymaga edycji Enterprise sgcWebSockets. Zobacz macierz funkcji, aby poznać pełne zestawienie.

Natywny TLS systemu Android, zero OpenSSL

Pobierz bezpłatną wersję próbną i dostarczaj aplikacje Android bez pliku OpenSSL .so do wdrożenia.