TLS 1.3: o que muda e como verificar
Atualizado em 2026-11-03 · 6 min de leitura
O TLS 1.3 é a primeira revisão de protocolo em uma década que remove recursos em vez de adicionar. É isso que o torna mais rápido e mais difícil de configurar errado — e por isso um servidor que só fala TLS 1.2 não alcança a nota máxima.
O que mudou em relação ao TLS 1.2
O TLS 1.3 reduz o handshake de duas idas e voltas para uma, e para zero na retomada. Remove a troca de chaves RSA e Diffie-Hellman estática, tornando o sigilo encaminhado obrigatório em vez de opcional. Abandona por completo as suítes em modo CBC, RC4, SHA-1 e a compressão, e cifra mais do handshake — inclusive o certificado — para que intermediários aprendam menos.
A consequência prática é que quase todas as fragilidades herdadas que exigiam configuração cuidadosa agora são impossíveis. Não dá para negociar uma cifra fraca por acidente no TLS 1.3, porque o protocolo só define suítes AEAD com hashes modernos.
Por que importa para a sua nota
O CertH exige TLS 1.3 para um A+, independentemente de todo o resto. Um site com certificado perfeito, cifras fortes e HSTS fica em 95 e um A sem ele. Essa única linha é o motivo mais comum de um site bem administrado estagnar em A.
A outra razão é o próprio handshake. Em uma conexão móvel de alta latência, uma ida e volta economizada são dezenas a centenas de milissegundos em cada nova conexão — um efeito direto e mensurável na velocidade percebida.
Ativando
No nginx, o suporte a TLS 1.3 depende da versão de OpenSSL contra a qual o binário foi compilado. É necessário OpenSSL 1.1.1 ou mais novo; confira com nginx -V procurando built with OpenSSL antes de mexer em qualquer coisa.
No Apache, SSLProtocol basta desde que o httpd esteja ligado a um OpenSSL moderno. No Cloudflare, TLS 1.3 é um interruptor no nível da zona em SSL/TLS → Edge Certificates e está ativo por padrão na maioria das zonas desde 2021.
# nginx: does this binary even support TLS 1.3?
nginx -V 2>&1 | tr ' ' '\n' | grep -i openssl
# negotiate TLS 1.3 explicitly and print the protocol
openssl s_client -connect example.com:443 -tls1_3 -servername example.com </dev/null 2>/dev/null | grep -E "Protocol|Cipher"
Os detalhes que ninguém comenta
A retomada 0-RTT é rápida, mas reproduzível: um atacante que captura o primeiro voo pode reenviá-lo. Nunca permita 0-RTT em endpoints que mudam de estado na primeira requisição, como qualquer coisa que escreve.
Alguns middleboxes corporativos ainda quebram com TLS 1.3. Manter TLS 1.2 ativo junto é o compromisso padrão — você preserva compatibilidade e ainda cumpre o requisito de A+, porque o avaliador procura TLS 1.3 sendo oferecido, não TLS 1.2 sendo desativado.
Por fim, um CDN ou balanceador terminando o TLS esconde a origem por completo. Mudar a origem sem mudar a borda não muda nada do que um scanner externo consegue ver.
FAQ
Devo desativar TLS 1.2 quando o TLS 1.3 estiver ativo?
Não. Manter TLS 1.2 preserva compatibilidade com clientes antigos e middleboxes e não custa pontos. Desativá-lo só remove opções de fallback.
O TLS 1.3 muda os requisitos do meu certificado?
Ele torna alguns algoritmos legados inutilizáveis. Certificados com chave RSA continuam válidos, mas a cadeia precisa usar algoritmos de assinatura que o protocolo permita — assinaturas SHA-1, por exemplo, não são utilizáveis no TLS 1.3.