Configurando Transport Layer Security (TLS) 1.2 em seus aplicativos Xamarin

Cybersecurity

Segurança nunca é demais quando precisamos trafegar informações (sigilosas ou não) através da internet em nossas aplicações! O protocolo TLS é o “novo” padrão para comunicações seguras, vamos então preparar nossos aplicativos Xamarin para trabalhar com ele?

Transport Layer Security (TLS), cuja última versão é a 1.2, é um protocolo de criptografia para comunicações seguras através de redes de computadores, tal qual a internet. Assim como seu predecessor, o SSL que foi descontinuado pelo IETF.

Tal mudança é necessária em virtude do aumento dos requisitos de segurança dos servidores (nuvem ou não), principalmente para atender as regras de “PCI” (que trata dos padrões de segurança para transações financeiras através de meios digitais) portanto, em algum momento, seus aplicativos com Xamarin (Xamarin.Forms, Xamarin.Android Xamarin.iOS e Xamarin.UWP) tendem a parar de trafegar requisições, portanto uma atualização é necessária e uma nova versão do aplicativo deve ser feita para que tudo funcione corretamente, de novo.

E como bem lembrado pelo meu amigo Tarcisio Gambim, a maior parte das empresas (principalmente do setor financeiro/fiscal) deverão DEIXAR DE UTILIZAR os protocolos SSL, TLS v1.0 e v1.1…

Então, sem mais “Delays”…

Para configurar o TLS 1.2 em nossos aplicativos Xamarin (Forms, Andriod e iOS) é simples…

TODOS os projetos devem incluir um referência para System.Net.Http

Android

Para projetos Android (Xamarin.Android e projeto Android do Xamarin.Forms), você irá configurar o HttpClient implementation e SSL/TLS implementation conforme segue:

Visual Studio

Acesse as configurações do projeto Android:

TLS v1.2: Acessando propriedades do projeto Android
TLS v1.2: Acessando propriedades do projeto Android

Em seguida, em Android Options:

TLS v1.2: Android Options (Visual Studio)
TLS v1.2: Android Options (Visual Studio)

Na janela Advanced, selecione as opções conforme a imagem:

TLS v1.2: Android Options -> Advanced (Visual Studio)
TLS v1.2: Android Options -> Advanced (Visual Studio)

Feito!

Visual Studio for Mac

Acesse as configurações do projeto Android, similar a primeira imagem dessa seção, e selecione as opções conforme a imagem abaixo:

TLS v1.2: Android Build Options (Visual Studio for Mac)
TLS v1.2: Android Build Options (Visual Studio for Mac)

Importante lembrar que essas configurações são válidas para Android 5.0 ou superiores. Nas versões anteriores você deverá utilizar a biblioteca ModernHttpClient

iOS

Para projetos iOS (Xamarin.iOS e projeto iOS do Xamarin.Forms), você irá configurar o HttpClient implementation para habilitar o TLS 1.2 conforme segue:

Visual Studio

TLS v1.2: Projeto iOS (Visual Studio)
TLS v1.2: Projeto iOS (Visual Studio)

Pronto!

Visual Studio for Mac

TLS v1.2: Projeto iOS (Visual Studio for Mac)
TLS v1.2: Projeto iOS (Visual Studio for Mac)

macOS

Para projetos macOS, você irá configurar o HttpClient implementation, em Mac Build para habilitar o TLS 1.2 conforme segue:

TLS v1.2: Projeto macOS (Visual Studio for Mac)
TLS v1.2: Projeto macOS (Visual Studio for Mac)

Resumindo…

É importante que você realize a atualização do suporte para o TLS 1.2 assim que possível e publique essas atualizações aos usuários de seus aplicativos, isso fará com que a segurança na comunicação seja aprimorada!

E é isso…

Pretendo fazer alguns materiais sobre performance na utilização de HttpClient em nossas aplicações, então marque meu blog no favoritos, ou então assine o Feed!

Um grande abraço pessoal e até a próxima conexão!

Referências:
Microsoft Docs (Transport Layer Security (TLS) 1.2)

Opa, pérae!

Quer aprender Xamarin.Forms? Veja esse meu treinamento completo e gratuito e começo hoje mesmo a criar seus aplicativos!