Se você administra um website ou servidor, verificar seu certificado SSL/TLS regularmente é uma daquelas tarefas que você não pode deixar de fazer. Um certificado expirado ou mal configurado significa avisos do navegador, quebra de confiança e possível tempo de inatividade.

OpenSSL — o kit de ferramentas de linha de comando de código aberto usado em praticamente todas as distribuições Linux, sistemas macOS, e disponível no Windows — oferece acesso direto e sem filtros aos detalhes do certificado. Sem necessidade de navegador. Sem ferramentas de terceiros. Apenas um terminal e alguns comandos curtos.
Este guia aborda os comandos OpenSSL que você usará com mais frequência: visualizar detalhes do certificado, verificar datas de expiração, inspecionar servidores remotos, validar cadeias de certificados e confirmar que sua chave privada corresponde ao seu certificado. Cada comando está pronto para copiar e colar, com uma explicação clara do que faz.
Prefere trabalhar no navegador? O SSL Checker retorna os mesmos detalhes do certificado: cadeia, expiração, conjuntos de cifras e uma classificação de segurança, a partir de apenas um nome de domínio, sem necessidade de terminal, ou você pode ler o certificado você mesmo no Chrome, Firefox, Safari ou Edge. Este guia cobre tudo o que você preferiria fazer pela linha de comando.
Índice
- Pré-requisitos: Verifique Sua Versão do OpenSSL
- Visualizar Detalhes Completos do Certificado Com openssl x509
- Verificar o Certificado de um Servidor Remoto Com openssl s_client
- Verificar Datas de Expiração do Certificado
- Validar a Cadeia de Certificados Com openssl verify
- Confirmar que Sua Chave Privada Corresponde ao Seu Certificado
- Converter Entre Formatos de Certificado
- Solução de Problemas de Erros Comuns de Certificado
- Mantenha Seus Certificados Sob Controle
Economize 10% em certificados SSL ao fazer seu pedido na SSL Dragon hoje mesmo!
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
Pré-requisitos: Verifique Sua Versão do OpenSSL
Antes de executar qualquer comando, confirme que o OpenSSL está instalado e verifique qual versão você está executando. Sua versão determina quais protocolos e algoritmos estão disponíveis.
openssl version –a
Isso exibe o número da versão, a data de lançamento e o diretório de certificados padrão (OPENSSLDIR). A maioria dos sistemas Linux vem com o OpenSSL pré-instalado. No macOS, ele é fornecido com o LibreSSL (um fork do OpenSSL), que lida com os mesmos comandos.
Se você estiver no Windows, pode acessar o OpenSSL através do WSL (Windows Subsystem for Linux), Git Bash, ou uma versão independente para Windows.
Dica: Certifique-se de estar executando pelo menos o OpenSSL 1.1.1 ou posterior. Versões mais antigas não têm suporte para TLS 1.2 e TLS 1.3, exigidos pelos servidores e navegadores modernos.
Visualizar Detalhes Completos do Certificado Com openssl x509
O comando openssl x509 é a ferramenta principal para inspeção de certificados. Ele lê certificados X.509, o formato padrão usado por todos os certificados SSL/TLS, e exibe os detalhes de forma legível para humanos.
Para visualizar os detalhes completos de um arquivo de certificado armazenado localmente:
openssl x509 -in certificate.crt -text -noout
Aqui está o que cada flag faz:
- -in certificate.crt — Especifica o arquivo de certificado de entrada. Substitua pelo nome real do seu arquivo (por exemplo, yourdomain.crt ou server.pem).
- -text — Exibe o certificado em formato de texto legível, em vez de dados codificados brutos.
- -noout — Impede que o OpenSSL exiba o bloco PEM codificado em Base64 junto com a saída de texto.
Este comando revela tudo sobre o certificado:
- Extensões — Incluindo Subject Alternative Names (SANs), Key Usage e Authority Information Access.
- Emissor — A Autoridade Certificadora (CA) que o assinou (por exemplo, DigiCert, Let’s Encrypt, Sectigo).
- Sujeito — O domínio ou organização para o qual o certificado foi emitido.
- Período de validade — As datas “Not Before” e “Not After” que mostram quando o certificado está ativo.
- Algoritmo e tamanho da chave pública — Normalmente RSA 2048-bit ou ECDSA P-256.
- Algoritmo de assinatura — Geralmente sha256WithRSAEncryption nos certificados modernos.
Verificar Apenas o Emissor ou Sujeito
Se você não precisa da saída completa, pode extrair campos específicos:
openssl x509 -in certificate.crt -noout -issuer
openssl x509 -in certificate.crt -noout -subject
Esses comandos de uma linha são especialmente úteis quando você está criando scripts ou apenas precisa de uma confirmação rápida.
Nota: O OpenSSL espera o formato PEM por padrão — são arquivos de texto que começam com —–BEGIN CERTIFICATE—–. Se seu certificado estiver em formato DER (binário), adicione a flag -inform der:
openssl x509 -in certificate.der -inform der -text -noout
Verificar o Certificado de um Servidor Remoto Com openssl s_client
Você não tem sempre o arquivo de certificado disponível na sua máquina local. Muitas vezes, é necessário inspecionar o certificado instalado em um servidor ativo. É aí que entra o openssl s_client.
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com
Este comando abre uma conexão TLS com o servidor na porta 443 (a porta HTTPS padrão) e exibe a cadeia de certificados, a versão do protocolo, o conjunto de cifras e os detalhes da sessão.
A flag -servername ativa o Server Name Indication (SNI), essencial quando o servidor hospeda vários domínios no mesmo endereço IP. Sem ele, você pode receber o certificado errado.
Pressione CTRL+C para fechar a conexão depois de visualizar a saída.
Sem terminal à mão, ou quer uma verificação mais rápida? Nosso SSL Checker permite verificar um certificado sem OpenSSL. Cole o domínio e obtenha a cadeia, a expiração e os detalhes da cifra diretamente no navegador.
Encadeie o Comando para uma Saída Mais Limpa
A saída bruta do s_client é extensa. Para extrair apenas os detalhes do certificado, encadeie-a com o openssl x509:
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -text
O echo | no início envia uma entrada vazia para que a conexão se encerre automaticamente. O 2>/dev/null suprime as mensagens de erro, resultando em uma saída limpa.
Você também pode limitar a saída a campos específicos:
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -issuer -subject -dates
Este comando de uma linha é um favorito prático entre administradores de sistemas. Ele mostra o emissor, o sujeito e as datas de validade em uma única passagem.
Salvar o Certificado Localmente
Se você quiser salvar o certificado remoto em um arquivo para análise posterior:
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 > yourdomain.pem
Agora você pode executar qualquer comando openssl x509 no arquivo salvo.
Verificar Datas de Expiração do Certificado
Certificados expirados são uma das causas mais comuns de erros de SSL. O OpenSSL oferece várias maneiras de verificar a expiração.
Verificação Rápida de Data
openssl x509 -in certificate.crt -noout -dates
Isso exibe tanto a data “Not Before” (data de início) quanto a “Not After” (data de término). Se você precisa apenas da expiração:
openssl x509 -in certificate.crt -noout -enddate
Para Servidores Remotos
Combine s_client e x509 para verificar a expiração do certificado de um servidor ativo:
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -enddate
Automatize Alertas de Expiração Com -checkend
A flag -checkend é algo que a maioria dos guias ignora, mas é incrivelmente útil para automação. Ela verifica se o certificado irá expirar dentro de um número especificado de segundos e retorna um código de saída:
openssl x509 -in certificate.crt -noout -checkend 2592000
O valor 2592000 equivale a 30 dias em segundos. Se o certificado expirar dentro de 30 dias, o comando retorna um código de saída diferente de zero e exibe um aviso. Se o certificado ainda for válido além desse período, ele retorna zero.
Isso facilita a integração em tarefas cron, scripts de monitoramento ou pipelines de CI/CD:
if ! openssl x509 -in certificate.crt -noout -checkend 2592000 > /dev/null 2>&1; then
echo "WARNING: Certificate expires within 30 days!"
fi
Por que isso importa: Com o CA/Browser Forum avançando para ciclos de vida de certificados de 47 dias até 2029, o monitoramento automatizado de expiração deixou de ser opcional, é uma necessidade. Incorporar essas verificações à sua infraestrutura agora vai evitar interrupções futuras.
Validar a Cadeia de Certificados Com openssl verify
Um certificado não funciona isoladamente. Navegadores e clientes validam toda a cadeia de certificados, uma sequência que começa com o certificado do seu servidor, passa por um ou mais certificados de CA intermediária, e termina em um certificado de CA raiz confiável.
Se a cadeia estiver quebrada ou incompleta, os visitantes verão um erro de “não confiável”, mesmo que o certificado em si seja válido.
Para validar um certificado em relação ao armazenamento de CAs confiáveis do sistema:
openssl verify certificate.crt
Se exibir certificate.crt: OK, a cadeia está completa e válida.
Quando os Certificados Intermediários Estão Separados
Se o seu certificado de CA intermediária estiver em um arquivo separado (comum em muitos provedores de CA, incluindo a DigiCert), use a flag -untrusted:
openssl verify -untrusted intermediate.crt certificate.crt
A flag -untrusted instrui o OpenSSL a usar o certificado intermediário fornecido durante a construção da cadeia, sem adicioná-lo permanentemente ao armazenamento de confiança.
Visualizar a Cadeia Completa a Partir de um Servidor Remoto
Para ver todos os certificados da cadeia de um servidor ativo:
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -showcerts
A flag -showcerts exibe cada certificado da cadeia em formato PEM. Este é o comando padrão para diagnosticar problemas de cadeia, como certificados intermediários ausentes ou ordenação incorreta.
Prefere uma verificação visual e com um clique? Nosso SSL Checker vai verificar a cadeia de certificados de qualquer domínio e sinalizar automaticamente intermediários ausentes.
Confirmar que Sua Chave Privada Corresponde ao Seu Certificado
Depois de instalar um certificado, um dos erros mais comuns é uma incompatibilidade de chave privada. O servidor web não iniciará (ou apresentará uma conexão quebrada) se a chave privada não corresponder à chave pública do certificado.
Veja como verificar a correspondência. Ambos os comandos extraem o módulo, um valor matemático compartilhado, e o fazem passar por hash:
openssl x509 -noout -modulus -in certificate.crt | openssl md5
openssl rsa -noout -modulus -in privatekey.key | openssl md5
Se os hashes MD5 forem idênticos, a chave privada e o certificado formam um par válido. Se forem diferentes, algo está errado. Você pode ter a chave errada, ou o certificado foi reemitido com um novo par de chaves.
Você também pode estender essa verificação para incluir seu CSR (Certificate Signing Request):
openssl req -noout -modulus -in request.csr | openssl md5
A verificação do módulo indica se os três arquivos pertencem entre si, mas não o que o CSR realmente declara. Para ler seus próprios campos, execute openssl req -in yourCSR.csr -noout -text, ou cole a solicitação no nosso decodificador de CSR.
Os três: certificado, chave privada e CSR devem retornar o mesmo hash.
Não está em uma máquina com o OpenSSL disponível? Nosso Certificate Key Matcher faz a mesma comparação diretamente no navegador, e funciona também para chaves ECDSA, onde a verificação do módulo falha.
Converter Entre Formatos de Certificado
Servidores e plataformas diferentes exigem formatos de certificado diferentes. O Apache e o Nginx usam PEM, enquanto o Windows IIS e o Tomcat normalmente precisam de PKCS#12 (.pfx). Aqui estão as conversões mais comuns:
DER para PEM:
openssl x509 -inform der -in certificate.der -out certificate.pem
PEM para DER:
openssl x509 -outform der -in certificate.pem -out certificate.der
PEM para PKCS#12 (.pfx):
openssl pkcs12 -export -out certificate.pfx -inkey privatekey.key -in certificate.crt -certfile ca-bundle.crt
PKCS#12 para PEM:
openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
A flag -nodes exporta a chave privada sem criptografia de senha. Remova-a se quiser uma saída protegida por frase-senha.
Bom saber: Arquivos de certificado com extensões .crt, .cer e .pem podem todos estar em formato PEM. A extensão por si só não indica a codificação, verifique o conteúdo do arquivo. Se começar com —–BEGIN, é PEM. Se for um emaranhado binário, é DER.
Para uma conversão pontual em uma máquina sem OpenSSL, o SSL Converter lida com PEM, DER, PFX e P7B diretamente no navegador e divide um PFX em certificado, cadeia e chave.
Solução de Problemas de Erros Comuns de Certificado
Quando algo dá errado, a saída do OpenSSL geralmente indica onde está o problema. Aqui está uma referência rápida para os problemas mais frequentes:
“unable to get local issuer certificate”. A cadeia de certificados está incompleta. O certificado intermediário está ausente na configuração do seu servidor. Obtenha o pacote de CA correto junto ao seu provedor de certificado e configure-o junto com o certificado do seu servidor.
“certificate has expired”. Exatamente o que parece. A data “Not After” do certificado já passou. Renove e substitua-o imediatamente.
“certificate signature failure”. O certificado foi modificado ou corrompido depois de assinado. Faça o download novamente junto ao seu provedor de CA ou reemita-o.
“key values mismatch”. A chave privada e o certificado não correspondem. Execute a comparação de módulo descrita na seção acima para confirmar, e então localize a chave correta ou gere um novo CSR.
“self-signed certificate”. O OpenSSL não consegue rastrear o certificado até uma CA raiz confiável. Isso é esperado para certificados autoassinados usados em desenvolvimento. Para produção, certifique-se de ter um certificado emitido por uma Autoridade Certificadora publicamente confiável.
“hostname mismatch”. O domínio ao qual você está se conectando não corresponde ao Common Name (CN) ou ao Subject Alternative Name (SAN) listado no certificado. Verifique os SANs com:
openssl x509 -in certificate.crt -noout -ext subjectAltName
Mantenha Seus Certificados Sob Controle
Verificar certificados com o OpenSSL é algo que você fará repetidamente durante todo o ciclo de vida do certificado, durante a instalação, após a renovação e sempre que algo apresentar problemas. Esses comandos são a maneira mais rápida de diagnosticar problemas e confirmar que tudo está configurado corretamente.
Para uma verificação rápida sem abrir um terminal, insira o domínio no nosso SSL Checker e obtenha sua classificação de segurança SSL junto com o certificado completo, a cadeia e o detalhamento das cifras em segundos.
Mas as verificações manuais têm um limite de escala. Se você gerencia vários certificados em diferentes servidores, precisa de um processo confiável de gerenciamento de certificados, especialmente porque os ciclos de vida dos certificados continuam encurtando e a margem para erros fica cada vez menor.
Precisa de certificados SSL confiáveis? A SSL Dragon oferece uma ampla seleção de certificados SSL/TLS das principais Autoridades Certificadoras, como DigiCert, Sectigo e Thawte, com preços competitivos, emissão rápida e suporte dedicado. Seja para um certificado de domínio único ou uma solução multi-domínio de nível empresarial, você encontrará a opção ideal.
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






