CertH certH
Nesta página

Como obter uma nota SSL A+ (checklist 2026)

Atualizado em 2026-11-03 · 7 min de leitura

Um A+ não é outro tipo de certificado, é outra configuração TLS. Quase todos os sites presos em A estão a um ajuste de distância: terminam TLS 1.2 corretamente, mas nunca ativaram TLS 1.3 ou nunca enviaram um cabeçalho HSTS longo o suficiente.

O que realmente decide a nota

O CertH pontua cinco áreas ponderadas a partir de um único handshake TLS puro: validade e cadeia do certificado, força da chave e algoritmo de assinatura, versões de protocolo oferecidas, suítes de cifra negociadas e HSTS mais OCSP stapling. Não há acesso ao servidor, agente ou upload de arquivo de configuração — tudo é observado de fora, exatamente como um navegador veria.

Os limites são simples. Um A+ exige pontuação 95 ou mais, TLS 1.3 na lista de protocolos negociados e HSTS preloaded ou com max-age de pelo menos 180 dias. A começa em 90, B em 80, C em 70, D em 55, e abaixo de 55 é F. Certificado expirado é zero automático.

As quatro mudanças que levam de A para A+

Na prática a diferença é quase sempre uma destas quatro. Corrija na ordem — cada uma é verificável de forma independente por fora, então você pode reescanear após cada passo.

  • •Ativar TLS 1.3. Vale pontos por si só e é obrigatório para A+, mesmo com 100 perfeito em todo o resto.
  • •Subir o HSTS para pelo menos max-age=15552000 (180 dias). Um ano (31536000) é a escolha comum.
  • •Servir uma cadeia completa, incluindo os intermediários. Um intermediário ausente aparece como erro de cadeia em alguns clientes e custa pontos.
  • •Ativar OCSP stapling para que a checagem de revogação viaje com o handshake em vez de vazar o IP do visitante para a CA.

Configuração nginx que conquista A+

Um bloco server completo para um nginx moderno (1.19+ com OpenSSL 1.1.1+). Se o seu nginx foi compilado contra um OpenSSL mais antigo, TLS 1.3 ficará silenciosamente indisponível por mais que você escreva aqui — confira antes com nginx -V.

ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305;

ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;

ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
resolver 1.1.1.1 8.8.8.8 valid=300s;

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

Configuração Apache que conquista A+

O Apache precisa do cache de stapling declarado uma vez no nível do servidor, não dentro de um host virtual. O resto vai dentro do bloco <VirtualHost *:443>.

SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off

SSLUseStapling on
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

Os erros que prendem o site em A

O mais comum: ativar HSTS com includeSubDomains em um domínio que ainda tem subdomínios só HTTP — eles quebram na hora, e a reação habitual é remover o cabeçalho inteiro, o que devolve você ao A. Implante HSTS em etapas: comece com max-age de 300 segundos, acompanhe por uma semana e então suba para um ano.

O segundo erro mais comum é supor que TLS 1.3 está ativo porque o certificado é moderno. Certificados e versões de protocolo são independentes. Um certificado novinho em um servidor que só fala TLS 1.2 continua abaixo de 95.

O terceiro é um CDN na frente da origem. Se Cloudflare, Fastly ou um balanceador termina o TLS, a configuração da origem é irrelevante — a nota reflete a borda, então o ajuste precisa ser feito lá.

Verifique você mesmo

Cada mudança se confirma em segundos no terminal. TLS 1.3 só é negociado se o servidor realmente oferece, HSTS aparece nos cabeçalhos de resposta e o stapling aparece no bloco de resposta OCSP.

# Does the server actually negotiate TLS 1.3?
openssl s_client -connect example.com:443 -tls1_3 -servername example.com </dev/null 2>/dev/null | grep "Protocol"

# Is HSTS set, and for how long?
curl -sI https://example.com | grep -i strict-transport-security

# Is OCSP stapling actually working?
openssl s_client -connect example.com:443 -status -servername example.com </dev/null 2>/dev/null | grep -A2 "OCSP Response"

FAQ

Um A+ exige certificado pago ou de validação estendida?

Não. Um certificado de validação de domínio (DV) pode chegar a A+ — a nota mede a configuração TLS, não o nível de validação. O tipo de certificado só importa quando muda a cadeia ou o algoritmo de chave.

Por que minha nota caiu depois de renovar o certificado?

Renovações costumam trazer outro emissor ou tipo de chave, e alguns servidores voltam para outro conjunto de cifras após o reload. O CertH registra a mudança na seção de análise da evolução da pontuação do relatório de domínio, com o motivo específico.

Preciso de HSTS preload para chegar a A+?

Não. O preload é apenas uma das duas formas de cumprir o requisito de HSTS; max-age de pelo menos 180 dias sem preload já basta. Preload é mais rígido e muito mais difícil de desfazer, trate como opcional.

Leia a seguir