Decodificador de CSR
Antes de uma Autoridade de Certificação assinar um certificado TLS, você entrega a ela um Pedido de Assinatura de Certificado (CSR), um bloco base64 que contém o assunto que você quer no certificado e a sua chave pública, além de uma assinatura que comprova que você possui a chave privada correspondente. Este decodificador recebe um CSR codificado em PEM e mostra os campos do assunto e os parâmetros da chave pública, para que você possa conferir o nome comum, a organização e o tamanho da chave antes de enviá-lo a uma CA.
Como decodificar um CSR
-
1
Cole o CSR
Inclua os marcadores `-----BEGIN CERTIFICATE REQUEST-----` e `-----END CERTIFICATE REQUEST-----`. Espaços em branco são tolerados.
-
2
Execute o decodificador
O pedido é analisado e os campos do assunto e a chave pública são extraídos.
-
3
Revise a saída
Confira os campos do assunto, como o nome comum e a organização, além do algoritmo e do tamanho da chave.
-
4
Aja conforme o resultado
Se o assunto ou a chave parecerem errados, regenere o CSR antes de enviá-lo a uma CA.
O que o decodificador mostra
Uma CSR é uma estrutura ASN.1 (PKCS #10). O decodificador lê duas coisas dela:
- Assunto: os campos do Nome Distinto solicitados, normalmente o país (C), a organização (O), a unidade organizacional (OU), a localidade (L), o estado (ST) e o nome comum (CN).
- Chave pública: o algoritmo (RSA, EC, DSA) e o tamanho da chave em bits.
A assinatura dentro da CSR é o que prova à CA que o remetente possui a chave privada correspondente. Este decodificador não a exibe; a CA a verifica ao processar o pedido.
Exemplo de saída
Para um pedido de certificado de domínio típico, a saída tem este aspecto:
Subject: commonName=www.example.com, organizationName=Example Inc., countryName=US
Key bits: 2048
Key type: RSA
Os nomes exatos dos atributos do assunto dependem de como o pedido foi gerado.
Campos a verificar
- Nome Comum (CN): deve ser o nome do host principal. Navegadores modernos ignoram o CN e olham apenas para os SANs, mas muitas CAs ainda exigem um CN válido.
- Nomes Alternativos de Assunto (SANs): liste todos os nomes de host e curingas que o cert irá proteger. Navegadores fazem correspondência com os SANs, não com o CN.
- País (C): código ISO de 2 letras (US, GB, DE), não um nome completo. CAs rejeitam códigos errados.
- Tamanho da chave: RSA 2048 é o mínimo; 3072 ou 4096 para maior segurança. ECDSA P-256 é uma boa alternativa moderna e produz um cert menor.
- Algoritmo de assinatura: SHA-256 ou melhor. SHA-1 está obsoleto e será rejeitado.
Sobre os Nomes Alternativos de Assunto (SANs)
O decodificador mostra o assunto do pedido, mas não a extensão SAN. Os navegadores fazem correspondência dos certificados com os SANs, e não com o CN; se o certificado precisar cobrir mais nomes de host, inclua-os ao gerar o pedido, por exemplo:
openssl req -new -newkey rsa:2048 -nodes -keyout example.key -out example.csr -addext "subjectAltName=DNS:example.com,DNS:www.example.com"
Quando o decodificador não consegue analisar o CSR
As causas mais comuns são um bloco PEM truncado ou danificado:
- Texto truncado: recole o bloco completo, incluindo os dois marcadores.
- Quebras de linha inseridas: cole o bloco exatamente como foi gerado.
- Conteúdo errado: uma chave pública, um certificado ou uma chave privada colados por engano não serão analisados como um CSR.
Gerando a chave correspondente
Uma CSR é sempre gerada juntamente com uma chave privada. Comando típico:
openssl req -new -newkey rsa:2048 -nodes -keyout example.key -out example.csr
Ou para ECDSA:
openssl req -new -newkey ec:<(openssl ecparam -name prime256v1) -nodes -keyout example.key -out example.csr
Proteja a chave privada, se ela vazar, o certificado deve ser revogado.
Perguntas frequentes
Uma CSR contém apenas informações públicas (chave pública, assunto, SANs) mais uma assinatura, é seguro compartilhar com uma CA ou colar em um decodificador. O que deve permanecer em segredo é a chave privada correspondente.
Não. Este decodificador espera a forma textual PEM com os marcadores BEGIN/END CERTIFICATE REQUEST. Para usar um pedido DER binário, converta-o antes para PEM, por exemplo com openssl req -in request.der -inform DER -out request.pem.
Não. A maioria das CAs públicas (Let’s Encrypt, DigiCert, Sectigo) exige apenas CN e SANs, elas ignoram O, OU, L, ST, C para certificados validados por domínio. Certificados validados por organização e de Validação Estendida verificam esses campos separadamente.
Na maioria das vezes porque o texto colado foi truncado ou ganhou quebras de linha, ou porque uma chave ou certificado foi colado no lugar de uma CSR. Recole o bloco completo entre os dois marcadores.
Ferramentas relacionadas
Referência da Tabela ASCII
Tabela ASCII completa de 0 a 127 com valores decimais, hexadecimais, octais e binários e notação de referência numérica HTML, incluindo NUL, LF e DEL.
Referência de Caracteres HTML
Lista pesquisável de entidades HTML, seus códigos nomeados e numéricos, e uma cópia com um clique para caracteres e símbolos especiais.
Referência de atalhos de teclado
Pesquise atalhos padrão documentados do VS Code, Chrome e Bash com GNU Readline no macOS, Windows e Linux.
Gerador de Papel de Parede em Gradiente
Gere papéis de parede em gradiente borrados de três cores para laptop, telefone ou fundos do Zoom. Randomize ou defina o ângulo e o desfoque manualmente.
Gerador de Cores Análogas
Crie uma paleta análoga de cinco cores a partir de qualquer cor base, com o trio clássico, dois tons externos e valores hex, RGB e HSL.
Conversor de ASCII para Hex
Converta texto ASCII em valores de byte hexadecimal. A saída usa dois dígitos hexadecimais por caractere, prontos para dumps de memória, rastreamentos de pacotes ou tabelas de firmware.
Ferramenta disponível em outros idiomas
- CSR Çözücü [TR]
- Decodificador de CSR [ES]
- أداة فك ترميز CSR [AR]
- Décodeur CSR [FR]
- CSR-decoder [NL]
- CSR 디코더 [KO]
- Dekoder CSR [ID]
- CSR Decoder [EN]
- Bộ giải mã CSR [VI]
- CSR解码器 [ZH]
- CSRデコーダー [JA]
- ตัวถอดรหัส CSR [TH]
- CSR-Decoder [DE]
- CSR-avkodare [SV]
- Dekoder CSR [PL]
- Decoder CSR [IT]
- Декодер CSR [RU]