O TLS nativo do Android (iohAndroidTLS) é o transporte TLS nativo do Android para o sgcWebSockets. Ele aciona o próprio javax.net.ssl.SSLEngine da plataforma via JNI, então o seu APK não envia nenhum arquivo .so do OpenSSL. Habilite-o definindo TLSOptions.IOHandler como iohAndroidTLS.
TLS nativo do Android usando o SSLEngine da plataforma via JNI. Nenhum .so do OpenSSL no seu APK.
O TLS nativo do Android entrega a criptografia ao próprio Android. O sgcWebSockets chama o javax.net.ssl.SSLEngine da plataforma via JNI, então o sistema operacional realiza o handshake, a criptografia de registro e o trabalho com certificados. O benefício imediato é que o seu APK não carrega nenhum arquivo .so do OpenSSL. O pacote é menor, e você nunca atualiza nem combina de versão uma biblioteca de criptografia de terceiros, porque a pilha TLS é mantida e atualizada pelo sistema operacional.
O backend valida o servidor contra o repositório de confiança do sistema Android e realiza a verificação de nome de host, então conexões com autoridades certificadoras conhecidas funcionam sem configuração extra. Ele negocia TLS 1.3 e oferece suporte a ALPN no Android 10 (API 29) e posterior, o que permite anunciar protocolos de aplicação como http/1.1 durante o handshake.
Escolha este backend para aplicativos Android que precisam evitar enviar ou atualizar o OpenSSL, ou que preferem delegar inteiramente à política de TLS da plataforma. Como todo backend do sgcWebSockets, ele fica por trás da mesma API TLSOptions, então o restante do seu código de rede é idêntico aos caminhos do OpenSSL, do SChannel e da Apple, e apenas a linha do IOHandler muda por plataforma.
Código
Habilitar o TLS nativo do Android
Defina TLSOptions.IOHandler como iohAndroidTLS na sua build do Android. Nenhum .so do OpenSSL é necessário.
A pilha TLS já vive no dispositivo, então o seu pacote permanece enxuto e o sistema operacional cuida das atualizações.
Nenhum .so para empacotar
O APK é enviado sem libssl ou libcrypto, então o pacote é menor e não há criptografia nativa para manter.
Repositório de confiança do sistema
A validação roda contra o repositório de confiança do sistema Android com verificação de nome de host, sem configuração extra para CAs públicas.
TLS 1.3
A plataforma negocia TLS 1.3, e o ALPN está disponível no Android 10 (API 29) e posterior para seleção de protocolo.
Mantido pelo sistema operacional
O Android é dono da implementação TLS, então as correções de segurança chegam pelas atualizações do sistema, e não pelo seu ciclo de lançamento.
Observação sobre edições
O TLS nativo do Android (iohAndroidTLS) requer a edição Enterprise do sgcWebSockets e o Rad Studio XE8 ou posterior (os bindings de TLS da plataforma Android não estão disponíveis em versões anteriores). Consulte a matriz de recursos para o detalhamento completo.
TLS nativo do Android, zero OpenSSL
Baixe a versão de avaliação gratuita e envie aplicativos Android sem nenhum .so do OpenSSL para implantar.