Os certificados SSL têm períodos de validade limitados e devem ser renovados regularmente para continuarem sendo reconhecidos pelos 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 reduzindo 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 você a renová-lo no prazo e evitar interrupções.
Este guia mostra como verificar a expiração de certificados com OpenSSL: em um servidor ativo, em 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 em um servidor ativo
Este método conecta-se a um site em execução e lê o certificado que ele serve; você não precisa do arquivo de 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, pois o macOS é semelhante ao Unix (o openssl integrado é o LibreSSL, que suporta essas 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 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 de certificado no disco.
No Linux e macOS
Navegue até a pasta que contém o seu certificado e 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 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 expirará dentro de um determinado período, use -checkend com um número de segundos (aqui, 2592000 segundos = 30 dias):
openssl x509 -in your_certificate.pem -noout -checkend 2592000
O comando exibe Certificate will not expire (e sai com status 0) ou Certificate will expire (status 1) — o que o torna ideal para scripts de monitoramento e tarefas cron.
Entendendo o comando e a saída
Tome o comando para servidor ativo e sua saída como exemplo:
echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -enddate
Saída:
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 aguardar interação.
- openssl s_client — abre uma conexão SSL/TLS com o servidor.
- -servername example.com — define a Indicação de Nome de Servidor (SNI), necessária quando um servidor hospeda múltiplos certificados para domínios diferentes.
- -connect example.com:443 — o host e a porta para conectar (porta 443 é a porta HTTPS padrão).
- 2>/dev/null (Linux/macOS) ou 2>nul (Windows) — descarta mensagens de erro para que apenas a saída relevante seja exibida.
- | openssl x509 -noout -enddate — redireciona o certificado para a ferramenta x509; -noout suprime o dump PEM e -enddate exibe apenas a data de expiração.
- notAfter=… — a data e hora em que o certificado deixa de ser válido.
Automatize: pare de controlar datas manualmente
Em vez de verificar datas de expiração manualmente, especialmente à medida que os períodos de validade se reduzem para 47 dias, você pode usar o ACME como Certificate-as-a-Service (CaaS). Ele cuida da validação de domínio, instala certificados e os renova automaticamente antes que expirem, mantendo seu site confiável sem intervenção manual.
Conclusão
O OpenSSL verifica a expiração de certificados em uma única linha, a partir de um servidor ativo com s_client ou a partir de um arquivo com x509 -enddate, enquanto -dates e -checkend adicionam a data de emissão e uma verificação de expiração iminente. O campo notAfter informa exatamente quando renovar para que você evite interrupções no serviço. Quando estiver pronto para renovar, navegue pelos nossos certificados SSL.
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

