Descodificador de certificados X.509
Descodifica um certificado SSL/TLS, cadeia ou CSR no navegador. Vê titular, emissor, data de expiração, SAN, utilização da chave e impressão SHA-256.
Os certificados são descodificados no teu navegador. Nada é enviado, por isso os certificados internos e os CSR ficam no teu computador.
Esta ferramenta lê o certificado, mas não verifica a assinatura nem a cadeia de confiança: um certificado descodificado não prova que seja autêntico.
Como descodificar um certificado
- Cola um certificado em Certificado, cadeia ou CSR (PEM ou Base64) ou larga um ficheiro na zona de largar ficheiros. São aceites texto PEM (
-----BEGIN CERTIFICATE-----), DER binário (.der,.cer), pedidos de assinatura de certificado (.csr) e pacotes PKCS#7 (.p7b). - Clica em Descodificar. Um bloco PEM colado também é descodificado assim que a linha
-----END …-----fica completa. Carregar um exemplo mostra um certificado de teste. - Cada certificado ou CSR tem a sua própria tabela. Um selo indica Datas válidas, Expirado ou Ainda não válido, e Copiar PEM copia-o de volta em formato PEM (útil depois de abrir um ficheiro DER binário).
- Numa cadeia (um certificado de servidor seguido dos intermédios), todos os blocos são descodificados por ordem, e a ferramenta indica Emitido pelo certificado n quando o emissor de um certificado coincide com o titular de outro da lista.
O que significam os campos
- Titular (subject) e Emissor (issuer) são nomes distintos (distinguished names):
CN(nome comum),O(organização),OU,L(localidade),ST(distrito ou estado),C(país). Um certificado cujo emissor é igual ao titular é marcado como Autoassinado. - Válido desde e Válido até são as datas
notBeforeenotAfter, mostradas no teu fuso horário, com o número de dias que faltam. Desde 2020, os navegadores rejeitam certificados TLS públicos com validade superior a 398 dias, e o CA/Browser Forum está a reduzir ainda mais esse limite. - Número de série aparece em hexadecimal (como nos navegadores e no OpenSSL) e em decimal.
- Algoritmo de assinatura e Chave pública: para RSA, o tamanho do módulo (2048, 3072, 4096 bits) e o expoente público (quase sempre 65537); para curvas elípticas, a curva (P-256, P-384…); o Ed25519 também é reconhecido.
- Extensões: Subject Alternative Name (os nomes de anfitrião, endereços IP e endereços de e-mail abrangidos pelo certificado; os navegadores ignoram o CN e só usam o SAN), Key Usage, Extended Key Usage (serverAuth, clientAuth, codeSigning…), Basic Constraints (
CA: TRUEpara uma autoridade), Subject e Authority Key Identifiers, CRL Distribution Points, Authority Information Access (servidor OCSP e URL dos CA Issuers) e Certificate Policies (DV, OV, EV). As extensões marcadas como crítica têm de ser compreendidas por qualquer software que use o certificado. - Impressão digital SHA-1 e Impressão digital SHA-256 são hashes do certificado DER completo, calculados com a Web Crypto API do navegador; coincidem com
openssl x509 -fingerprint. Pin da chave pública é o SHA-256 em Base64 da informação da chave pública, o formato usado no certificate pinning.
Descodificar não é verificar
Esta ferramenta é um simples analisador ASN.1/DER. Não verifica a assinatura, não constrói uma cadeia de confiança até uma autoridade raiz e não consulta listas de revogação nem OCSP, porque isso exigiria acesso à rede. Usa-a para inspecionar um certificado, perceber porque é que um nome de anfitrião não corresponde ou saber quando expira, e não para decidir se é de confiança. As chaves privadas são recusadas de propósito: se colares um bloco PRIVATE KEY, não é descodificado, e deves considerá-lo comprometido se alguma vez o partilhaste.
Perguntas frequentes
Como obtenho o certificado de um site?
Na maioria dos navegadores, clica no cadeado, abre o visualizador de certificados e exporta-o em PEM. Na linha de comandos, openssl s_client -connect example.com:443 -showcerts mostra a cadeia completa; cola aqui os blocos.
Qual é a diferença entre PEM e DER?
DER é a codificação binária do certificado. PEM são os mesmos bytes em Base64 entre as linhas BEGIN e END, mais fáceis de copiar e colar. A ferramenta lê os dois formatos e descodifica o mesmo conteúdo.
O que é um CSR?
Um pedido de assinatura de certificado (CSR) é o que envias a uma autoridade de certificação: contém o titular pedido, a chave pública e, muitas vezes, os SAN pretendidos. Ainda não tem emissor, validade nem número de série; esses dados são acrescentados pela autoridade.
Porque é que o meu navegador diz que o certificado é inválido se as datas estão certas?
As datas são apenas uma das verificações. O nome de anfitrião tem de constar do Subject Alternative Name, a cadeia tem de levar a uma raiz de confiança (um certificado intermédio em falta é uma causa frequente), a utilização da chave tem de permitir TLS e o certificado não pode estar revogado.
É seguro colar aqui um certificado?
Sim. Um certificado é informação pública que os servidores enviam a todos os visitantes, e esta ferramenta processa-o localmente sem o enviar para lado nenhum. Só as chaves privadas têm de ficar secretas.
Ferramentas relacionadas
- Descodificador de JWT Descodifica o cabeçalho e o payload de um JWT, lê exp, iat e nbf como datas e verifica assinaturas HS256, RS256, ES256 ou EdDSA no teu navegador.
- Gerador de hash Gera hashes MD5, SHA-1, SHA-256 e SHA-512 de texto ou de ficheiros de qualquer tamanho e verifica checksums. Tudo corre no teu navegador.
- Codificador e descodificador Base64 Codifica e descodifica Base64 online, com suporte completo de UTF-8 e a opção base64url segura para URL. Tudo no teu navegador, nada é enviado.