# Decodificador de CSR

> Decodifique uma solicitação de assinatura de certificado PKCS#10 para ler seu sujeito, chave pública, SANs e extensões solicitados, e atributos; tudo no navegador.

- Tool: https://ronutz.com/pt-BR/tools/csr-decoder
- Family: Certificados e PKI

---

## O que faz

Decodifique uma solicitação de assinatura de certificado PKCS#10 e leia o que ela contém: o nome do sujeito, a chave pública, os Subject Alternative Names e outras extensões que o solicitante está pedindo, e quaisquer atributos. Ela analisa a estrutura da solicitação inteiramente no seu navegador e nunca contata uma autoridade certificadora.

## O que é uma CSR, e o que ela não é

Uma CSR é o objeto que você entrega a uma autoridade certificadora quando pede que ela emita um certificado. O importante é que ela não é um certificado. Não tem número de série, nem emissor, nem datas de validade, porque nada disso foi decidido ainda. Ela carrega apenas o que o solicitante está pedindo: um nome de sujeito, uma chave pública e, opcionalmente, um conjunto de extensões solicitadas, como Subject Alternative Names. A solicitação inteira é assinada com a chave privada que corresponde à chave pública dentro dela, o que prova que o solicitante de fato possui essa chave privada, um passo chamado prova de posse.

## Solicitado, não concedido

Ler uma CSR diz o que foi pedido, não o que uma AC vai conceder. Uma autoridade certificadora é livre para acrescentar, alterar ou descartar o que uma CSR solicita de acordo com sua própria política e com a validação que realiza, então os SANs e as extensões que você vê aqui são um pedido, não uma garantia. Essa distinção importa quando um certificado emitido não corresponde à CSR: isso é frequentemente a AC aplicando política, e não um erro.

## O que ela decodifica

A solicitação é ASN.1 codificado em DER (a mesma codificação tag-length-value que os certificados usam), e o decodificador a percorre transformando-a em campos legíveis:

- o **nome distinto (DN) do sujeito**;
- a **chave pública** e seu algoritmo e tamanho;
- as **extensões solicitadas**, carregadas em um atributo `extensionRequest` do PKCS#9, mais importante os Subject Alternative Names; e
- outros **atributos**, como uma senha de desafio (challenge password) ou um nome não estruturado, quando presentes.

Ela decodifica apenas a estrutura. Não verifica a autoassinatura da solicitação e, como uma CSR não tem janela de validade, não há nada relativo ao tempo para checar.

## Como usar

Cole uma CSR PKCS#10 (o bloco entre os marcadores CERTIFICATE REQUEST) e leia seu sujeito, chave, SANs e extensões solicitados, e atributos. A análise é determinística e local.

## Standards and references

- [RFC 2986 — PKCS #10: Certification Request Syntax Specification v1.7](https://www.rfc-editor.org/rfc/rfc2986) - CertificationRequest / CertificationRequestInfo structure
- [RFC 2985 — PKCS #9: Selected Object Classes and Attribute Types](https://www.rfc-editor.org/rfc/rfc2985) - extensionRequest, challengePassword, unstructuredName attributes
- [RFC 5280 — Internet X.509 PKI Certificate and CRL Profile](https://www.rfc-editor.org/rfc/rfc5280) - Name, SubjectPublicKeyInfo, Extensions encodings reused by CSRs
- [ITU-T X.690 — ASN.1 encoding rules (BER/CER/DER)](https://www.itu.int/rec/T-REC-X.690) - DER tag-length-value encoding the decoder parses

## Related reading

- [ACME no BIG-IP: dos scripts do DevCentral a um cliente nativo](https://ronutz.com/pt-BR/learn/bigip-acme-certificate-automation.md): Como funciona a automação de certificados Let's Encrypt e outros ACME no F5 BIG-IP: o cliente ACMEv2 nativo introduzido no BIG-IP 21.1.0 (provisionamento, renovação e implantação para qualquer CA ACMEv2), as soluções comunitárias baseadas em dehydrated que vieram antes, o perfil centralizado de gerenciamento de CA Let's Encrypt do BIG-IQ, e onde os conceitos e limites de emissão ACME compartilhados se encaixam.
- [ACME no FortiGate: um cliente embutido para o certificado do próprio equipamento](https://ronutz.com/pt-BR/learn/fortigate-acme-certificate-automation.md): Como o suporte ACME nativo do FortiOS obtém e renova um certificado Let's Encrypt para o próprio FortiGate: os requisitos de IP público e FQDN, a restrição de SAN de nome único, os desafios TLS-ALPN-01 e HTTP-01 (e quais versões do FortiOS os suportam), a configuração via GUI e CLI, e como isso difere do cliente nativo do BIG-IP.
- [ACME: como os certificados se emitem e se renovam sozinhos](https://ronutz.com/pt-BR/learn/acme-protocol.md): Como o protocolo ACME automatiza a emissão de certificados de ponta a ponta: a conta, o pedido, os três tipos de desafio, o registro dns-01 que você publica e a etapa de finalizar e baixar que produz o certificado.
- [Anatomia de um Certificado X.509](https://ronutz.com/pt-BR/learn/x509-anatomy.md): O que vive dentro de um certificado TLS, como os bytes ASN.1/DER são estruturados, o que as extensões v3 de fato controlam, e por que decodificar um certificado não é o mesmo que confiar nele.
- [Como a validação de certificados de fato funciona](https://ronutz.com/pt-BR/learn/certificate-validation.md): Os passos que um cliente executa para decidir que um certificado é confiável: construir a cadeia, checar assinaturas e datas, casar o nome e impor restrições.
- [PEM, DER e os formatos de arquivo de certificado](https://ronutz.com/pt-BR/learn/certificate-formats.md): Por que o mesmo certificado vem em tantas formas de arquivo, o que PEM e DER de fato são, e o que .crt, .pem, .pfx e .p12 realmente contêm.
- [PKI pública e privada: quais certificados a SC-081v3 governa](https://ronutz.com/pt-BR/learn/public-vs-private-pki.md): O cronograma dos 47 dias vincula apenas certificados TLS publicamente confiáveis. O que separa a PKI pública da privada, por que as ACs internas estão isentas, e como ler o veredito de conformidade do planejador para um certificado interno.
- [Requisições de assinatura de certificado e como certificados são emitidos](https://ronutz.com/pt-BR/learn/certificate-signing-request.md): O que uma CSR contém, por que sua chave privada nunca deixa sua máquina, como uma CA valida e emite, e como o ACME automatiza toda a troca.
