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.
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.
Kod
Yerel Android TLS'i Etkinleştirin
Android yapınızda TLSOptions.IOHandler değerini iohAndroidTLS olarak ayarlayın. OpenSSL .so gerekmez.