Decodificador de certificado SSL — leia arquivos PEM, CRT e CSR
Cole um certificado PEM, uma cadeia ou um CSR, ou envie um arquivo .crt, para ver SANs, expiração, emissor, tipo de chave e fingerprints. Decodificado no seu navegador.
Só certificados e CSRs são necessários. Nunca cole uma chave privada num site; se colar aqui, ela é ignorada.
Funciona inteiramente no seu navegador. Os certificados são decodificados localmente; nada é enviado e não são feitas consultas OCSP ou CT. Ver todas as ferramentas grátis.
Encontrou um problema ou algo que poderia ser melhor? Lemos todas as mensagens e corrigimos rápido.
Este decodificador de certificado SSL grátis lê um certificado X.509 e mostra o que há dentro: os nomes de domínio que ele cobre (Subject Alternative Names), quem o emitiu, quando expira e quantos dias faltam, o tipo e o tamanho da chave, as extensões e os fingerprints SHA-256 e SHA-1. Cole o texto PEM, uma cadeia inteira de um fullchain.pem ou uma solicitação de assinatura de certificado (CSR) antes de enviá-la a uma CA. Você também pode enviar arquivos .crt, .cer, .der e .pem.
A decodificação acontece no seu navegador; nada é enviado e nenhuma consulta de rede é feita. Isso também significa que a ferramenta informa o que o certificado diz, não se ele é confiável: ela não verifica assinaturas, não checa revogação (OCSP ou CRL) e não consulta os logs de Certificate Transparency. Numa cadeia, ela verifica se o nome do emissor de cada certificado corresponde ao titular do certificado seguinte, o que pega o erro de ordem mais comum. Ela lê certificados RSA, ECDSA e Ed25519, ao contrário de muitos decodificadores em JavaScript que só lidam com RSA.
Como usar
- Cole um certificado que começa com -----BEGIN CERTIFICATE-----, vários deles ou um CSR que começa com -----BEGIN CERTIFICATE REQUEST-----. Ou clique em Enviar e escolha um arquivo .crt, .cer, .der ou .pem.
- Confira a linha de status colorida de cada certificado: válido com os dias restantes, expirando em breve (menos de 30 dias), expirado ou ainda não válido.
- Confirme se os Subject Alternative Names listam todos os hostnames que o certificado precisa cobrir. Os navegadores ignoram o Common Name.
- Numa cadeia, leia o quadro Ordem da cadeia: o certificado do servidor deve vir primeiro, seguido de cada emissor, em sequência.
- Copie um fingerprint ou o PEM de qualquer certificado individual com os botões do card dele.
Perguntas frequentes
Como vejo quando um certificado SSL expira?
Cole o certificado aqui e leia a linha Válido até e o status acima dela, que mostra os dias restantes. Para obter o certificado que um site no ar está servindo, rode openssl s_client -connect example.com:443 -servername example.com -showcerts, ou no navegador clique no cadeado (ou no ícone de configurações do site), abra o visualizador de certificado e exporte-o. Você também pode verificar pela linha de comando com openssl x509 -in cert.pem -noout -enddate.
Qual é a diferença entre PEM, DER, CRT e CER?
PEM e DER são codificações; CRT e CER são só extensões de arquivo. DER é a forma binária do certificado. PEM são os mesmos bytes em Base64 entre as linhas -----BEGIN CERTIFICATE----- e -----END CERTIFICATE-----, e um arquivo PEM pode conter vários certificados. Um arquivo .crt ou .cer pode conter qualquer uma das codificações (no Windows, .cer geralmente significa DER). Este decodificador aceita as duas.
O que é um Subject Alternative Name (SAN)?
A extensão SAN lista todos os hostnames e endereços IP para os quais o certificado é válido, como example.com, www.example.com e *.example.com. Os navegadores verificam só essa lista; o Common Name do titular é ignorado pelo Chrome desde a versão 58 (2017). Um certificado sem um SAN correspondente falha com erro de nome incompatível, mesmo que o Common Name esteja certo.
O que é o fingerprint de um certificado?
Um hash do certificado inteiro na forma DER, exibido em hexadecimal. Ele identifica um certificado exato: se um único byte for diferente, o fingerprint muda. Fingerprints SHA-256 são o padrão moderno; fingerprints SHA-1 ainda são exibidos por algumas ferramentas e sistemas mais antigos. Fingerprints não são secretos. O pin SPKI mostrado aqui é diferente: ele faz o hash só da chave pública, então continua o mesmo quando um certificado é renovado com a mesma chave.
Por quanto tempo um certificado SSL pode ser válido?
Para certificados TLS publicamente confiáveis, o limite do CA/Browser Forum era de 398 dias desde setembro de 2020. A Ballot SC-081 o reduz em etapas: 200 dias para certificados emitidos a partir de 15 de março de 2026, 100 dias a partir de 15 de março de 2027 e 47 dias a partir de 15 de março de 2029. Certificados de uma CA privada ou interna não estão sujeitos a esses limites. Esta ferramenta avisa quando um certificado final ultrapassa o limite para sua data de emissão.
É seguro colar meu certificado aqui?
Sim. Um certificado é público por natureza: todo visitante do seu site o recebe. A decodificação também acontece localmente no seu navegador. A chave privada é outra história: nunca cole uma chave privada em nenhum site. Se houver uma no que você colar, esta ferramenta a ignora e avisa você.
Lendo um certificado: o que significa cada campo
• Titular e Emissor (Subject e Issuer): distinguished names. CN é o nome comum, O a organização, C o país. Num certificado autoassinado ou raiz, os dois são idênticos.
• Validade: Not Before e Not After, em UTC. Os clientes rejeitam o certificado fora dessa janela, então um relógio errado num dispositivo pode fazer um certificado válido falhar.
• Número de série: único por CA; é a ele que uma lista de revogação se refere.
• Chave pública: chaves RSA têm 2048 bits ou mais; chaves ECDSA usam uma curva nomeada, geralmente P-256 ou P-384, e são bem mais curtas para uma segurança semelhante. Ed25519 ainda é pouco usado em TLS público.
• Uso da chave e uso estendido da chave (key usage e extended key usage): o que a chave pode fazer. Um certificado de servidor TLS precisa de TLS Web Server Authentication; um certificado de CA precisa de Certificate Sign.
• Restrições básicas (basic constraints): CA:TRUE marca um certificado que pode emitir outros; um path length limita quantos intermediários podem vir depois dele.
• Authority Information Access: onde buscar o certificado do emissor (CA Issuers) e onde consultar a revogação (OCSP).
Corrigindo problemas na cadeia
A maioria dos erros de “certificado não confiável” que funcionam num navegador mas falham em outro, ou no curl, vem da cadeia que o servidor envia. O servidor deve enviar primeiro o próprio certificado, depois o intermediário que o emitiu, e assim por diante; ele não precisa enviar a raiz, que os clientes já têm. Os navegadores às vezes conseguem buscar sozinhos um intermediário que falta (usando a URL do AIA), mas curl, Java, Python e a maioria dos apps móveis não conseguem, e por isso falham.
Cole aqui a cadeia completa do servidor (no Let’s Encrypt, o fullchain.pem; em outras CAs, seu certificado seguido do bundle da CA) e confira se cada linha “foi emitido pelo” está verde. Se a ordem estiver errada, reordene os blocos PEM na configuração do servidor. Se faltar um elo, adicione o certificado intermediário fornecido pela sua CA.
Ferramentas grátis relacionadas
- Decodificador JWT — Decodifique o header e o payload de um JWT, leia a expiração em linguagem simples, verifique assinaturas HS, RS, PS e ES ou assine um novo token. Nada sai do seu navegador.
- Codificador / decodificador Base64 — Codifique texto ou arquivos em Base64, transforme imagens em data URIs com trechos de CSS e <img>, e decodifique Base64 de volta em um arquivo com pré-visualização. Nada sai do seu navegador.
- Gerador de senhas — Gere uma senha aleatória forte, uma frase-senha fácil de lembrar ou um PIN. Funciona inteiramente no seu navegador; nada é enviado nem armazenado.
- curl para código — Cole um comando curl, inclusive o “Copy as cURL” do Chrome, e receba a mesma requisição em Python, JavaScript, Node, Go, PHP, Ruby, Java, C#, wget ou HTTPie.
- Validador de YAML — Valide YAML com a linha e a coluna exatas de cada erro e pegue os erros que os parsers aceitam sem avisar: booleanos yes/no, tabulações, chaves duplicadas.