hero-decoder

Descodificador de CSR

Cole uma Certificate Signing Request abaixo e este decodificador de CSR mostrará o que realmente está contido nela: o Common Name e o restante do Distinguished Name, a chave pública e seu tamanho, o algoritmo de assinatura e todos os Subject Alternative Names abrangidos pela solicitação.

Ler esses campos leva alguns segundos. Ignorá-los custa uma reemissão. Uma Autoridade Certificadora assinará com prazer uma CSR com um domínio digitado incorretamente, e você só descobre isso quando os navegadores começam a exibir erros de incompatibilidade de nome em um certificado que você já pagou e instalou.

Decodifique seu Arquivo CSR

Cole o texto completo da sua CSR na caixa, incluindo as linhas de cabeçalho e rodapé:

Uma CSR válida começa com —–BEGIN CERTIFICATE REQUEST—– e termina com —–END CERTIFICATE REQUEST—–.

Servidores Windows rodando IIS escrevem a linha inicial como —–BEGIN NEW CERTIFICATE REQUEST—–. Ambas as formas funcionam aqui. O arquivo pode chegar com a extensão .csr, .pem ou .txt; apenas o texto contido nele importa. Este decodificador de CSR online gratuito lê PEM, o formato Base64 que praticamente todo servidor e painel de hospedagem produz.

Ainda não tem uma CSR? Gere uma com nosso gerador de CSR, ou siga o guia de CSR para sua plataforma.


O que o decodificador de CSR mostra

Toda CSR carrega duas coisas que uma Autoridade Certificadora precisa: quem você diz ser e a chave pública que deseja certificar. A metade referente à identidade é chamada de Subject, ou Distinguished Name, e é um conjunto de campos identificados, e não uma única string longa. O decodificador divide o Distinguished Name em suas partes e apresenta os detalhes da chave junto com ele.

A tabela abaixo abrange todos os campos que este decodificador de CSR retorna, como é um valor válido e o que dá errado quando ele não está correto.

CampoO que éValor válidoO que quebra se estiver errado
Common Name (CN)O domínio principal que o certificado protegeráwww.example.com, ou *.example.com para um wildcardPrecisa corresponder exatamente ao nome de domínio totalmente qualificado. Um erro de digitação, ou a ausência do www, gera um erro de incompatibilidade de nome em todos os navegadores e uma reemissão.
Subject Alternative Name (SAN)Uma extensão que lista todos os domínios que o certificado cobreDNS:example.com, DNS:www.example.comOs navegadores leem os SANs e ignoram o Common Name. Qualquer domínio ausente desta lista não fica coberto, independentemente do que o CN diz.
Organization (O)O nome legal registado da sua empresaExample Corporation LtdVerificado em registos públicos para certificados OV e EV. Um nome comercial ou uma abreviatura paralisa a validação.
Organizational Unit (OU)Um departamento ou divisão dentro da organizaçãoIT DepartmentA votação SC47 do CA/Browser Forum proíbe o OU em certificados TLS de confiança pública emitidos a partir de 1 de setembro de 2022. Ainda é possível incluí-lo numa CSR. Ele é removido do certificado que você recebe.
Locality (L)A cidade ou municípioSan FranciscoEscreva por extenso. SF falha na validação OV.
State or Province (ST)O estado, província ou regiãoCaliforniaEscreva por extenso. CA é interpretado como abreviatura e rejeitado.
Country (C)Um código de duas letras ISO 3166-1 alpha-2US, GB, DEExatamente duas letras. USA e UK são o erro de formatação mais comum em CSRs.
emailAddressUm endereço de contato opcional no Subject[email protected]Opcional. A maioria das CAs públicas ignora este campo.
Public key algorithmO algoritmo que gerou o par de chavesRSA ou ECDSAAs chaves ECDSA são menores e mais rápidas de verificar. RSA tem suporte mais amplo em hardware mais antigo. Alguns balanceadores de carga e appliances legados aceitam apenas RSA.
Key sizeO comprimento da chave pública2048 bits ou 4096 bits para RSA; 256 bits ou 384 bits para ECDSA2048 bits é o mínimo para RSA em qualquer CA pública. Uma solicitação de 1024 bits é rejeitada de imediato.
Signature algorithmO algoritmo com que a solicitação foi assinadaSHA-256 com RSA EncryptionSHA-1 já não é aceito. Este campo descreve a própria assinatura da CSR; a CA escolhe o algoritmo para o certificado que emite.

Uma CSR também pode conter atributos opcionais e extensões solicitadas que a maioria dos decodificadores ignora. Uma challenge password é uma string opcional que algumas CAs usavam para autorizar a revogação; deixe-a em branco a menos que a sua CA solicite uma. Extensões solicitadas como keyUsage, extendedKeyUsage e basicConstraints descrevem o que o certificado deve poder fazer, embora seja a CA quem define os valores finais.


Como funciona a decodificação de CSR

Uma CSR é uma certification request PKCS#10, um formato definido pela RFC 2986. O seu conteúdo é descrito em ASN.1, serializado em DER, que é binário, depois codificado em Base64 e envolto pelas linhas de cabeçalho e rodapé PEM para que a solicitação sobreviva ao envio por e-mail e à cópia e cola sem corromper.

A decodificação inverte essa cadeia. A ferramenta remove o envoltório PEM, converte o Base64 de volta para DER, analisa a estrutura ASN.1 e identifica cada valor encontrado.

Nenhuma decifragem ocorre em nenhuma etapa, porque nada numa CSR está cifrado. Uma CSR contém a sua chave pública. A chave privada permanece no servidor que a gerou e nunca entra na solicitação. Qualquer pessoa que intercete uma CSR pode lê-la, e é precisamente por isso que é seguro enviá-la por e-mail a uma Autoridade Certificadora.

O que uma CSR realmente carrega é uma assinatura. A solicitação é assinada com a chave privada correspondente à chave pública nela contida, o que prova que você possui essa chave. Isto chama-se Proof of Possession, e é assim que uma CA sabe que a pessoa que solicita um certificado controla a chave a ser certificada.

Após a CA validar a solicitação, emite um certificado X.509 contendo a sua chave pública e os campos do Subject que conseguiu verificar.


O que verificar antes de submeter a sua CSR

Confira a saída decodificada com esta lista antes de a solicitação chegar sequer perto de uma Autoridade Certificadora. Usar o decodificador como um verificador de CSR nesta etapa custa um minuto. Detetar o mesmo erro depois da emissão custa uma reemissão e uma nova implementação.

  1. O Common Name corresponde exatamente ao seu nome de domínio totalmente qualificado, incluindo ou excluindo www conforme pretendido. example.com e www.example.com são dois nomes diferentes.
  2. Todo domínio que você precisa aparece na lista SAN, não apenas no Common Name.
  3. O país tem exatamente duas letras. Confira na lista ISO 3166-1 alpha-2 se tiver dúvidas.
  4. Estado e localidade estão escritos por extenso, não abreviados.
  5. A organização é o seu nome legal registado, se estiver a comprar um certificado OV ou EV. Certificados Domain Validated ignoram este campo.
  6. A chave é RSA de 2048 bits ou superior, ou ECDSA de 256 bits ou superior.
  7. O algoritmo de assinatura é SHA-256 ou mais forte.
  8. A sintaxe wildcard é *.example.com, que cobre apenas um nível. Não cobre shop.eu.example.com.
  9. Você ainda possui a chave privada a partir da qual esta CSR foi gerada. Confirme com o Certificate Key Matcher antes de fazer o pedido.

Problemas comuns de CSR revelados por um decodificador

Incompatibilidade de nome. O Common Name ou a lista SAN não correspondem ao domínio em que o servidor realmente responde. Este é o motivo mais comum para um certificado ser instalado e, ainda assim, falhar no navegador.

SAN em falta. O certificado foi emitido, o Common Name parece correto e um hostname continua a apresentar erro. Decodifique a CSR e verifique se esse hostname alguma vez esteve na lista SAN. Se não estava, nunca foi coberto.

Um código de país rejeitado. Três letras em vez de duas. A CA rejeita a solicitação, geralmente com uma mensagem que não identifica o campo.

Um estado abreviado. CA em vez de California, NY em vez de New York. Pedidos Domain Validated passam. Pedidos Organization Validated e Extended Validation ficam parados na validação até que você os reenvie.

Uma chave demasiado pequena. O RSA de 1024 bits já é inaceitável para as CAs públicas há anos. Gere novamente a CSR com uma chave de 2048 bits ou superior; não é possível corrigir isto editando a solicitação.

O campo OU desapareceu. Você colocou um departamento no campo Organizational Unit e ele não aparece no certificado emitido. Este é o comportamento esperado desde setembro de 2022, e não um erro da CA. Leia por que o campo OU foi removido.

Uma CSR que não corresponde à sua chave privada. Normalmente resultado de gerar uma segunda CSR e perder o controlo de qual par de chaves corresponde a qual solicitação. O Certificate Key Matcher resolve isso num só passo.

Um domínio internacional na forma errada. Domínios não ASCII têm de aparecer em Punycode, na forma xn--, em vez de na sua escrita original.


Decodificar uma CSR com OpenSSL

Se tiver o OpenSSL instalado, pode ler uma CSR sem usar um navegador:

openssl req -in example.csr -noout -text

Adicione -verify para verificar simultaneamente a própria assinatura da solicitação, o que confirma que a CSR não foi alterada desde que foi gerada:

openssl req -in example.csr -noout -text -verify

A saída coloca todo o Distinguished Name na linha Subject:, numa sequência separada por vírgulas em vez de campos separados, portanto leia da esquerda para a direita: C, ST, L, O, OU, CN. Abaixo disso, Public Key Algorithm identifica RSA ou ECDSA, e Public-Key: indica o comprimento em bits entre parênteses. Signature Algorithm aparece duas vezes, uma perto do topo e outra na parte inferior junto ao bloco de assinatura; ambas referem-se à própria assinatura da CSR.

Os Subject Alternative Names são fáceis de passar despercebidos. Não fazem parte da linha Subject. Procure mais abaixo pelo bloco Requested Extensions e pela entrada X509v3 Subject Alternative Name logo abaixo dele. Se esse bloco estiver ausente, a CSR não tem SANs de todo.

A ferramenta web acima é a opção mais rápida quando o OpenSSL não está instalado, quando você está no Windows sem WSL, ou quando a CSR veio de um painel de hospedagem e só existe como texto numa aba do navegador. A saída é a mesma informação, identificada em linguagem simples.


Decodificar uma CSR para Sectigo, DigiCert ou qualquer outra CA

Uma CSR é um arquivo PKCS#10, e o formato não muda em função de quem irá assiná-la. Não existe um formato de CSR específico para a Sectigo ou para a DigiCert, portanto um único decodificador funciona para solicitações destinadas a qualquer Autoridade Certificadora.

O que varia entre as CAs é quais campos são validados e com que rigor. Os certificados Domain Validated apenas verificam o controlo do domínio e ignoram completamente o campo Organization. Os certificados Organization Validated e Extended Validation exigem que os campos Organization, Locality, State e Country correspondam a registos públicos, o que explica por que a exatidão desses campos importa cada vez mais quanto mais alto se sobe na escala de validação.


Perguntas frequentes

O que é um decodificador de CSR?

Um descodificador de CSR é uma ferramenta que lê uma Certificate Signing Request e apresenta o seu conteúdo em linguagem clara. Reverte a codificação Base64 e ASN.1 que torna um CSR ilegível a olho nu e depois identifica cada campo: Common Name, Organization, Organizational Unit, Locality, State, Country, algoritmo de chave pública, tamanho da chave, algoritmo de assinatura e quaisquer Subject Alternative Names. Utilizaria esta ferramenta para verificar um pedido antes de o submeter, ou para perceber porque é que um certificado que já possui está a comportar-se de forma inesperada.

Copiar link

Como ler um ficheiro CSR?

Cole-o num decodificador de CSR, por vezes chamado de visualizador de CSR ou leitor de CSR, e leia a saída identificada. Um CSR parece um bloco sólido de caracteres aleatórios porque é dados binários codificados em Base64, pelo que não há nada de útil para ver ao abrir o ficheiro num editor de texto. Se preferir a linha de comandos, openssl req -in example.csr -noout -text apresenta a mesma informação.

Copiar link

Você pode descriptografar um CSR?

Não, porque um CSR não é criptografado. Este é um dos equívocos mais persistentes sobre solicitações de certificado. Um CSR é um dado ASN.1 codificado em Base64, que qualquer pessoa pode decodificar sem chave e sem senha. Ele contém a sua chave pública, nunca a privada. O que as pessoas querem dizer quando dizem “descriptografar um CSR” é decodificá-lo, e é isso que esta ferramenta e o comando openssl req fazem.

Copiar link

É preciso descodificar um CSR antes de o enviar a uma CA?

Não. Envie o texto codificado exatamente como o seu servidor o gerou, incluindo as linhas de cabeçalho e rodapé. A CA analisa-o do lado dela. A descodificação é para seu próprio benefício, não para o dela: é assim que você detecta um domínio errado ou um código de país com duas letras antes que a CA transforme o seu erro num certificado.

Copiar link

Posso ler o texto de um CSR na linha de comando?

Sim. openssl req -in example.csr -noout -text imprime o conteúdo decodificado no seu terminal. Adicionar -verify também verifica a autoassinatura do CSR. Consulte a seção sobre OpenSSL acima para saber o que significa cada parte da saída.

Copiar link

Que informações verei depois de descodificar o CSR?

O Subject, também chamado de Distinguished Name, que contém o Common Name, Organization, Organizational Unit, Locality, State e Country. A chave pública, com seu algoritmo (RSA ou ECDSA) e o tamanho da chave em bits. O algoritmo de assinatura com o qual a solicitação foi assinada. E, se a solicitação os incluir, os Subject Alternative Names, listando todos os domínios que o certificado irá abranger.

Copiar link

O que é um Subject Alternative Name, e por que importa mais do que o Common Name?

Um Subject Alternative Name é uma extensão que lista todos os nomes de host abrangidos por um certificado. Os navegadores modernos leem a lista SAN e ignoram completamente o Common Name, portanto, um domínio que apareça apenas como Common Name e não na lista SAN irá falhar. A maioria das CAs públicas copia automaticamente o Common Name para a lista SAN ao emitir o certificado, mas confirme isso com a sua CA em vez de simplesmente presumir. Se precisar de vários nomes de host num único certificado, liste todos eles.

Copiar link

Por que o campo OU está ausente no meu certificado emitido?

Porque já não é permitido. A votação SC47 do CA/Browser Forum proibiu o campo Organizational Unit em certificados TLS de confiança pública emitidos a partir de 1 de setembro de 2022, com o argumento de que uma CA não tem forma fiável de verificar o nome de um departamento. Ainda pode incluir o OU ao gerar um CSR, e o decodificador irá mostrá-lo, mas a CA remove-o antes da emissão. Nada correu mal.

Copiar link

O que é PKCS#10?

PKCS#10 é o padrão que define o formato do CSR, especificado na RFC 2986. Ele estabelece quais campos um pedido de certificação contém e como estão estruturados, razão pela qual o mesmo CSR funciona com qualquer Autoridade de Certificação, em vez de estar vinculado apenas àquela em que comprou.

Copiar link


Ferramentas SSL relacionadas

A historic windmill with text overlay reading 'Mill History'

Gerador de CSR

Gere automaticamente a sua CSR (Certificate Signing Request) e a sua Chave Privada, com base nos detalhes que você fornece ao preencher o formulário de CSR.

Conversor SSL

Converta o seu certificado SSL/TLS entre PEM, DER, PFX e P7B inteiramente no seu navegador. Mude de formato em poucos cliques para que o certificado se instale corretamente em qualquer servidor ou plataforma que exija um formato diferente.

Certificate Key Matcher

Verifique se o seu certificado SSL, chave privada e CSR provêm do mesmo par de chaves. Tudo é executado no seu navegador, para que a sua chave privada nunca saia do seu dispositivo.

SSL Checker

Verifique instantaneamente a validade, a instalação e a configuração de segurança do seu certificado SSL. Teste a força da encriptação, as datas de expiração e detete problemas comuns para garantir que o seu website permanece seguro e é considerado confiável pelos visitantes.