Backend TLS natif Android

Le TLS natif Android (iohAndroidTLS) est le transport TLS natif Android de sgcWebSockets. Il pilote le javax.net.ssl.SSLEngine de la plateforme via JNI, donc votre APK ne livre aucun fichier .so OpenSSL. Activez-le en définissant TLSOptions.IOHandler sur iohAndroidTLS.

← Tous les backends TLS

TLS natif Android (iohAndroidTLS)

TLS natif Android utilisant le SSLEngine de la plateforme via JNI. Aucun .so OpenSSL dans votre APK.

Le TLS natif Android confie le chiffrement à Android lui-même. sgcWebSockets appelle le javax.net.ssl.SSLEngine de la plateforme via JNI, donc le système d'exploitation réalise la négociation, le chiffrement des enregistrements et le travail sur les certificats. L'avantage immédiat est que votre APK ne transporte aucun fichier .so OpenSSL. Le paquet est plus petit, et vous ne corrigez ni n'alignez jamais la version d'une bibliothèque cryptographique tierce, car la pile TLS est maintenue et mise à jour par le système d'exploitation.

Le backend valide le serveur contre le magasin de confiance système d'Android et effectue la vérification du nom d'hôte, donc les connexions vers des autorités de certification reconnues fonctionnent sans configuration supplémentaire. Il négocie TLS 1.3, et il prend en charge ALPN sur Android 10 (API 29) et versions ultérieures, ce qui vous permet d'annoncer des protocoles applicatifs tels que http/1.1 pendant la négociation.

Choisissez ce backend pour les applications Android qui doivent éviter de livrer ou de corriger OpenSSL, ou qui préfèrent s'en remettre entièrement à la politique TLS de la plateforme. Comme chaque backend sgcWebSockets, il se trouve derrière la même API TLSOptions, donc le reste de votre code réseau est identique aux chemins OpenSSL, SChannel et Apple, et seule la ligne IOHandler change selon la plateforme.

Activer le TLS natif Android

Définissez TLSOptions.IOHandler sur iohAndroidTLS dans votre build Android. Aucun .so OpenSSL n'est nécessaire.

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;

Aucun OpenSSL dans l'APK

La pile TLS réside déjà sur l'appareil, votre paquet reste donc léger et le système d'exploitation gère les mises à jour.

Aucun .so à embarquer

L'APK est livré sans libssl ni libcrypto, le paquet est donc plus petit et il n'y a aucune cryptographie native à maintenir.

Magasin de confiance système

La validation s'exécute contre le magasin de confiance système d'Android avec vérification du nom d'hôte, sans configuration supplémentaire pour les CA publiques.

TLS 1.3

La plateforme négocie TLS 1.3, et ALPN est disponible sur Android 10 (API 29) et versions ultérieures pour la sélection de protocole.

Maintenu par le système d'exploitation

Android possède l'implémentation TLS, donc les correctifs de sécurité arrivent via les mises à jour système plutôt que par votre cycle de publication.

Note sur les éditions

Le TLS natif Android (iohAndroidTLS) nécessite l'édition Enterprise de sgcWebSockets. Consultez la matrice des fonctionnalités pour le détail complet.

TLS natif Android, zéro OpenSSL

Téléchargez l'essai gratuit et livrez des applications Android sans aucun .so OpenSSL à déployer.