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

