Entendendo Protocolos SSL

É fácil ficar confuso com o grande número de protocolos seguros existentes para comunicações web. Uma pergunta comum de desenvolvedores é: qual protocolo deve ser usado? A resposta é simples: muitas versões do protocolo SSL/TLS existiram ao longo dos anos, mas muitas agora estão obsoletas porque foram consideradas com bugs e inseguras. Atualmente, TLS v1.2 é considerado o protocolo amplamente aceito que deve ser usado e permitido como requisito mínimo para comunicação HTTP segura. Muitos provedores importantes, como o Google, já migraram para TLS v1.3 há anos.

Indy oferece suporte a muitos protocolos incluindo SSL v2.0, SSL v2.3, SSL v3.0, TLS v1.0, TLS v1.1 e TLS v1.2. No entanto, todos os protocolos anteriores ao TLS v1.2 estão obsoletos agora e são rejeitados pelos navegadores modernos.

Todos os navegadores modernos exigem TLS v1.2 como mínimo. Indy permite escolher múltiplos protocolos ao mesmo tempo, mas como qualquer coisa exceto TLS v1.2 é obsoleta, geralmente é melhor escolher um único protocolo. Usar um único protocolo simplifica o handshake SSL e evita exceções desnecessárias durante o handshake inicial. A versão atual do Indy incluída no uniGUI e nas bibliotecas DLL relacionadas não dá suporte ao TLS v1.3, então TLS v1.2 permanece o único protocolo válido disponível. A menos que você precise dar suporte a navegadores legados muito antigos, é seguro usar um único protocolo: TLS v1.2.

circle-info

Independente da versão do uniGUI e das configurações padrão da biblioteca em SSLOptions, é recomendado definir suas configurações SSL_Versions para usar TLS v1.2 conforme mostrado abaixo.

clip0257

Links relacionados:

  • Developer's Guide > Deployment > SSL Configuration: https://unigui.com/doc/online_help/ssl_configuration.htm

  • Previous topic: SSL – Error Logging: https://unigui.com/doc/online_help/ssl--error-logging.htm

  • Next topic: Using SSL under Linux: https://unigui.com/doc/online_help/using-ssl-under-linux.htm