Como verificar a data de expiração do certificado SSL com o OpenSSL

How to Check the SSL Certificate Expiration Date with OpenSSL

Os certificados SSL têm um período de validade de apenas um ano. Se você não renovar seu certificado antes do prazo, seu site ficará inacessível aos visitantes porque os navegadores o sinalizarão como potencialmente vulnerável a ameaças à segurança.

Saber quando o seu certificado está prestes a expirar ajudará você a evitar problemas desnecessários e interrupções no site. Uma maneira rápida de examinar a vida útil do seu certificado é com uma biblioteca criptográfica popular. Este guia mostrará a você como verificar a expiração do certificado com o OpenSSL. Siga os comandos e não deixe que o período de validade do seu certificado SSL afete a funcionalidade do seu site.


Comando OpenSSL para verificar a data de expiração do certificado

O OpenSSL oferece alguns comandos diferentes para você obter a data de expiração do certificado. O comando específico depende do formato do seu arquivo de certificado e de onde ele está armazenado. Aqui, abordaremos os cenários mais comuns no Linux e no Windows:

  • Certificado armazenado em um servidor
  • Arquivo de certificado codificado em PEM

Data de expiração do certificado Opções de comando do OpenSSL

Verificar a data de validade do certificado SSL em um servidor local usando o OpenSSL é semelhante a verificá-la em um servidor remoto. A diferença é que, em vez de especificar um domínio e uma porta remotos, você usará localhost e a porta apropriada onde o servidor local está sendo executado.

No Linux

Verifique a data de expiração do certificado SSL na linha de comando do Linux:

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

Substitua yourdomain.com por seu nome de domínio real.

No Windows

  1. Abra o prompt de comando ou o PowerShell Pressione Win + R, digite cmd ou powershell e pressione Enter.
  2. Execute o comando OpenSSL para verificar a data de expiração do certificado:

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

Substitua yourdomain.com por seu nome de domínio real. A parte 2> nul é usada em vez de
2> /dev/null para descartar mensagens de erro no Windows.

No MacOS

Verificar a data de validade do certificado SSL em um sistema macOS é o mesmo que em um Linux, pois tanto o macOS quanto o Linux são sistemas operacionais do tipo Unix. Os comandos e seu uso são idênticos.


Analisando o comando e a saída

Agora, vamos inspecionar cada elemento do comando para que você tenha uma compreensão mais técnica de como o OpenSSL verifica o período de validade. Considere o seguinte comando:

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

E o resultado:

notAfter=May 23 12:00:00 2025 GMT

Veja a seguir o que cada parte significa:

  1. echo |: Envia uma entrada vazia para o comando s_client do OpenSSL. Ele garante que o comando seja concluído sem exigir interação do usuário.
  2. openssl s_client -servername example.com -connect example.com:443:
    • openssl s_client: Esse comando inicia uma conexão SSL/TLS com um servidor remoto.
    • -servername example.com: Essa opção é usada para SNI (Server Name Indication), que permite especificar o nome do host durante o handshake SSL. É necessário para servidores que hospedam vários certificados SSL/TLS para domínios diferentes.
    • -connect example.com:443: Especifica o servidor e a porta aos quais você deve se conectar. A porta 443 é a porta padrão para HTTPS.
  3. 2>/dev/null (Linux) ou 2>nul (Windows):
    • Redireciona o erro padrão (stderr) para /dev/null (Linux) ou nul (Windows), descartando efetivamente todas as mensagens de erro. Ele limpa a saída, mostrando apenas as informações relevantes.
  4. | Você pode usar o openssl x509 -noout -enddate:
    • O pipe (|) passa a saída do comando anterior como entrada para o openssl x509.
    • openssl x509: Esse comando é usado para gerenciar certificados X.509.
    • -noout: Impede que o comando imprima o certificado no formato PEM.
    • -enddate: exibe apenas a data de expiração do certificado.
  5. notAfter=May 23 12:00:00 2025 GMT:
    • Conforme explicado anteriormente, ele indica que o certificado expirará em 23 de maio de 2025, às 12:00:00 GMT.

Como verificar a data de expiração do certificado SSL a partir de um arquivo codificado em PEM

Um arquivo codificado em PEM é um formato codificado em base64 com separadores como —–BEGIN CERTIFICATE—– e —–END CERTIFICATE—–. Para verificar a data de validade de um arquivo de certificado codificado por PEM usando o OpenSSL, siga estas etapas:

No Linux e no MacOS

  1. Abra seu aplicativo de terminal.
    Navegue até o diretório que contém o arquivo PEM. Use o comando cd para mudar para o diretório em que o arquivo de certificado está localizado:

    cd /path/to/your/certificate/directory
  2. Use o seguinte comando para verificar a data de expiração. Substitua your_certificate.pem pelo nome real do arquivo.

    openssl x509 -in seu_certificado.pem -noout -enddate

No Windows

  1. Abra o prompt de comando ou o PowerShell. Pressione Win + R, digite cmd ou powershell e pressione Enter.
  2. Navegue até o diretório que contém o arquivo PEM. Use o comando cd para navegar até o diretório em que o arquivo de certificado está localizado:

    cd C:\path\to\your\certificate\directory
  3. Use o comando a seguir para verificar a data de expiração:

    openssl x509 -in seu_certificado.pem -noout -enddate

Certifique-se de que você tenha o OpenSSL instalado e adicionado ao seu PATH. Caso contrário, talvez você precise especificar o caminho completo para o binário openssl.exe.


Linha de fundo

Você pode verificar a expiração do certificado com o OpenSSL em várias plataformas. Apesar das pequenas diferenças na sintaxe do comando devido às variações do sistema operacional, os resultados desses comandos fornecem informações cruciais sobre a data de expiração dos seus certificados SSL.

O campo notAfter informa especificamente a você a data e a hora exatas em que seu certificado não será mais válido. O monitoramento dessas informações permite que você renove seus certificados a tempo de manter comunicações seguras e evitar interrupções no serviço.

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

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.