bg-tutorials

Como Verificar a Data de Expiração do Certificado SSL com OpenSSL

Os certificados SSL têm períodos de validade limitados e devem ser renovados regularmente para continuarem confiáveis nos navegadores. Os certificados públicos emitidos após 15 de março de 2026 estão limitados a 200 dias, com a validade máxima caindo para 100 dias em 15 de março de 2027 e 47 dias em 15 de março de 2029. Saber exatamente quando um certificado expira ajuda a renová-lo a tempo e a evitar interrupções.

Este guia mostra como verificar a expiração de certificados com OpenSSL: para um servidor ativo, para um arquivo local, e como verificar se um certificado está prestes a expirar.

Resposta rápida:

Para um site ativo, execute:

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -enddate. 

Para um arquivo de certificado, execute:

openssl x509 -in your_certificate.pem -noout -enddate. 

O valor notAfter é a data de expiração.

Método 1: Verificar um certificado num servidor ativo

Este método conecta-se a um site em funcionamento e lê o certificado que ele disponibiliza; não é necessário ter o arquivo do certificado. Funciona para qualquer host acessível (um domínio remoto, ou localhost com a porta correta para um servidor local).

No Linux e macOS

echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -enddate

Substitua yourdomain.com pelo seu domínio real. Os comandos são idênticos no macOS, já que o macOS é do tipo Unix (o seu openssl integrado é o LibreSSL, que suporta estas opções).

No Windows

  • Abra o Prompt de Comando ou o PowerShell (pressione Win + R, digite cmd ou powershell, e pressione Enter).
  • Execute:
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>nul | openssl x509 -noout -enddate

No Windows, use 2>nul em vez de 2>/dev/null para descartar as mensagens de erro.

Método 2: Verificar um certificado a partir de um arquivo PEM

Um arquivo PEM é um certificado codificado em base64 que começa com —–BEGIN CERTIFICATE—– e termina com —–END CERTIFICATE—–. Use este método quando tiver o arquivo do certificado no disco.

No Linux e macOS

Vá até a pasta que contém o seu certificado e, em seguida, leia a data de expiração (substitua your_certificate.pem pelo nome do seu arquivo):

cd /path/to/your/certificate/directory
openssl x509 -in your_certificate.pem -noout -enddate

No Windows

cd C:pathtoyourcertificatedirectory
openssl x509 -in your_certificate.pem -noout -enddate

Certifique-se de que o OpenSSL está instalado e presente no seu PATH; caso contrário, especifique o caminho completo para o binário openssl.exe.

Ver ambas as datas, ou verificar se um certificado expira em breve

Para ver tanto a data de emissão (notBefore) quanto a data de expiração (notAfter), use -dates em vez de -enddate:

openssl x509 -in your_certificate.pem -noout -dates

Para verificar se um certificado irá expirar dentro de um determinado prazo, use -checkend com um número de segundos (aqui, 2592000 segundos = 30 dias):

openssl x509 -in your_certificate.pem -noout -checkend 2592000

Ele exibe Certificate will not expire (e termina com o status 0) ou Certificate will expire (status 1) — o que o torna ideal para scripts de monitoramento e tarefas cron.

Compreendendo o comando e o resultado

Tome como exemplo o comando para servidor ativo e o seu resultado:

echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -enddate

Resultado:

notAfter=Sep 15 23:59:59 2026 GMT

Veja o que cada parte faz:

  • echo | — envia uma entrada vazia para que o comando termine sem esperar por interação.
  • openssl s_client — abre uma conexão SSL/TLS com o servidor.
  • -servername example.com — define a Indicação de Nome do Servidor (SNI), necessária quando um servidor hospeda vários certificados para domínios diferentes.
  • -connect example.com:443 — o host e a porta a que se conectar (a porta 443 é a porta HTTPS padrão).
  • 2>/dev/null (Linux/macOS) ou 2>nul (Windows) — descarta as mensagens de erro para que apenas o resultado relevante seja exibido.
  • | openssl x509 -noout -enddate — encaminha o certificado para a ferramenta x509; -noout suprime a exibição do PEM e -enddate imprime apenas a data de expiração.
  • notAfter=… — a data e a hora em que o certificado deixa de ser válido.

Automatize o processo: deixe de acompanhar as datas manualmente

Em vez de verificar as datas de expiração manualmente, especialmente à medida que os períodos de validade diminuem para 47 dias, pode utilizar o ACME como Certificate-as-a-Service (CaaS). Ele trata da validação do domínio, instala os certificados e renova-os automaticamente antes de expirarem, para que o seu site permaneça confiável sem necessidade de intervenção manual.

Economize 10% em certificados SSL ao fazer seu pedido hoje!

Emissão rápida, criptografia forte, 99,99% de confiança no navegador, suporte dedicado e garantia de reembolso de 25 dias. Código do cupom: SAVE10

Uma imagem detalhada de um dragão em voo
Escrito por

Redator de conteúdo experiente, especializado em certificados SSL. Transformação de tópicos complexos de segurança cibernética em conteúdo claro e envolvente. Contribua para melhorar a segurança digital por meio de narrativas impactantes.

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.