Yerel Android TLS Arka Ucu

Yerel Android TLS (iohAndroidTLS), sgcWebSockets için Android yerel TLS taşıyıcısıdır. Platformun kendi javax.net.ssl.SSLEngine'ini JNI aracılığıyla sürer, bu yüzden APK'niz hiçbir OpenSSL .so dosyası göndermez. TLSOptions.IOHandler değerini iohAndroidTLS olarak ayarlayarak etkinleştirin.

← Tüm TLS arka uçları

Yerel Android TLS (iohAndroidTLS)

JNI aracılığıyla platformun SSLEngine'ini kullanan Android yerel TLS'i. APK'nizde OpenSSL .so yok.

Yerel Android TLS, şifrelemeyi Android'in kendisine devreder. sgcWebSockets, platformun javax.net.ssl.SSLEngine'ini JNI aracılığıyla çağırır, bu yüzden el sıkışmasını, kayıt şifrelemesini ve sertifika işini işletim sistemi gerçekleştirir. Hemen elde edilen yarar, APK'nizin hiçbir OpenSSL .so dosyası taşımamasıdır. Paket daha küçüktür ve TLS yığını işletim sistemi tarafından bakımı yapıldığı ve güncellendiği için bir üçüncü taraf kripto kitaplığını asla yamalamaz veya sürüm eşleştirmezsiniz.

Arka uç, sunucuyu Android sistem güven deposuna karşı doğrular ve ana bilgisayar adı doğrulaması yapar, bu yüzden iyi bilinen sertifika yetkililerine bağlantılar ekstra yapılandırma olmadan çalışır. TLS 1.3'ü müzakere eder ve Android 10 (API 29) ve sonrasında ALPN'yi destekler, bu da el sıkışması sırasında http/1.1 gibi uygulama protokollerini duyurmanızı sağlar.

OpenSSL'i göndermekten veya yamalamaktan kaçınması gereken ya da tamamen platformun TLS ilkesine devretmeyi tercih eden Android uygulamaları için bu arka ucu seçin. Her sgcWebSockets arka ucu gibi aynı TLSOptions API'sinin arkasında durur, bu yüzden ağ kodunuzun geri kalanı OpenSSL, SChannel ve Apple yollarıyla aynıdır ve yalnızca IOHandler satırı platforma göre değişir.

Yerel Android TLS'i Etkinleştirin

Android yapınızda TLSOptions.IOHandler değerini iohAndroidTLS olarak ayarlayın. OpenSSL .so gerekmez.

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;

APK'de OpenSSL Yok

TLS yığını zaten cihazda yaşar, bu yüzden paketiniz yalın kalır ve güncellemelerin sahibi işletim sistemidir.

Paketlenecek .so Yok

APK, libssl veya libcrypto olmadan gönderilir, bu yüzden paket daha küçüktür ve bakımı yapılacak yerel kripto yoktur.

Sistem Güven Deposu

Doğrulama, ana bilgisayar adı doğrulamasıyla Android sistem güven deposuna karşı çalışır, genel CA'lar için ekstra kurulum yoktur.

TLS 1.3

Platform TLS 1.3'ü müzakere eder ve protokol seçimi için ALPN, Android 10 (API 29) ve sonrasında kullanılabilir.

İşletim Sistemi Bakımlı

TLS uygulamasının sahibi Android'dir, bu yüzden güvenlik düzeltmeleri sürüm döngünüz yerine sistem güncellemeleri aracılığıyla gelir.

Sürüm notu

Yerel Android TLS (iohAndroidTLS), sgcWebSockets'in Enterprise sürümünü gerektirir. Tam dökümü için özellik matrisine bakın.

Yerel Android TLS, Sıfır OpenSSL

Ücretsiz denemeyi indirin ve dağıtılacak OpenSSL .so olmadan Android uygulamaları gönderin.