Gerador de CSR
Crie uma solicitação de assinatura de certificado e a chave privada que a acompanha, aqui mesmo nesta página. O par de chaves é gerado pelo Web Crypto do seu navegador e nunca sai do seu computador: nada do que você digita e nenhuma chave é enviado ao nosso servidor nem ao de ninguém.
Um por linha. O primeiro também vira o nome comum.
O padrão sensato: tão forte quanto o RSA 3072 e muito menor.
O nome jurídico da sua organização, como está registrado.
Escreva por extenso, sem abreviar.
Duas letras, o código ISO 3166-1.
Duas letras, o código ISO 3166-1.
O que pedirUma CA pública define isso pelo próprio perfil. Uma CA privada pode querer que você peça.
Só se a sua CA pediu. A inscrição por SCEP a usa; um pedido de certificado web não.
O par é criado pelo seu navegador e nunca é enviado a lugar nenhum.
O que você está prestes a enviarECDSA P-256 · SHA-256
Digite um nome ou experimente um exemplo, e esta coluna mostra o que uma autoridade certificadora faria com a solicitação — antes de ela ser criada.
O par de chaves é criado pelo Web Crypto do seu navegador, em um quadro que não pode se conectar a lugar nenhum, e nunca é enviado. Abra o painel de rede e confira.
O que é um gerador de CSR?
Ele cria dois arquivos: uma solicitação de assinatura de certificado, que você envia a uma autoridade certificadora, e a chave privada, que fica com você. A solicitação leva a sua chave pública e os nomes que você quer certificar, assinados pela chave privada.
O formato é o PKCS#10, descrito na RFC 2986. Dentro da solicitação há um nome de titular, a sua chave pública, um conjunto de atributos com os nomes alternativos e uma assinatura feita com a sua chave privada sobre tudo isso. Essa autoassinatura é a prova de posse: mostra que quem envia tem a chave para a qual o certificado será emitido.
Os dois arquivos não são intercambiáveis. A solicitação existe para ser enviada — a uma CA, em um chamado de suporte, a qualquer lugar. A chave privada, nunca. Nesta página a chave é criada e fica no seu navegador. Você ainda precisa confiar no código da página, como em qualquer ferramenta web, mas pode conferir o que ela envia: abra o painel de rede e acompanhe enquanto gera uma.
A chave privadaGuarde este arquivo
-----BEGIN PRIVATE KEY------ A metade privadaAssina a solicitação agora e, depois, cada conexão com o seu servidor
- A sua metade públicaCopiada para dentro da solicitação
Uma única cópia, no seu computador
A solicitação de assinatura de certificadoEnvie este arquivo
-----BEGIN CERTIFICATE REQUEST------ Nome do titular108 bytesOpcional na maioria dos certificados
- Sua chave pública294 bytesO único campo que uma autoridade certificadora com certeza usa
- Os nomes que você pediu60 bytesOs nomes alternativos, levados como um atributo
- A assinatura261 bytesFeita pela chave privada, sobre tudo o que vem acima
Não contém nenhum segredo

Os nomesOs nomes de host que o certificado deve cobrir. O primeiro vira o nome comum; os outros se juntam a ele.A chaveRSA ou uma curva elíptica. O par é criado pelo seu navegador, diante de você.Quem é vocêOs campos do titular. Uma CA pública valida esses dados por conta própria, então só poucos sobrevivem.Os dois arquivosA solicitação, que você envia, e a chave privada, que você guarda. A chave só existe no seu navegador até você salvá-la.O mesmo, como comandoA linha do OpenSSL que cria exatamente esta solicitação, para quando você preferir fazer por conta própria.Por que gerar a chave no seu navegador?
Porque uma chave privada que chega ao servidor de outra pessoa se enquadra na definição do próprio setor de chave comprometida — seja o que esse servidor faça com ela depois.
Os Baseline Requirements do CA/Browser Forum a definem sem margem para discussão: "Uma chave privada é considerada comprometida se o seu valor foi revelado a uma pessoa não autorizada, ou se uma pessoa não autorizada teve acesso a ela." Não é preciso nenhum uso indevido. Chegar lá basta.
Isso não é teoria. Em 2020, a DigiCert encontrou 337 chaves privadas que clientes tinham colado junto com as solicitações, revogou todos os certificados envolvidos e divulgou o caso publicamente: "ao enviar a chave privada à DigiCert junto com o CSR, o cliente comprometeu a chave privada", acrescentando que "a única parte de um CSR que usamos é a chave pública". Um gerador que cria a chave no próprio servidor e lhe entrega uma cópia já a comprometeu, por essa definição. Esta página não tem como fazer isso: crypto.subtle.generateKey roda no seu navegador, dentro de um quadro isolado que não pode se conectar a lugar nenhum, e a página ao redor só chega a ver a chave pública.
Esta página
- O Web Crypto cria o par de chaves
crypto.subtle.generateKey - A chave assina a solicitação
- Você salva os dois arquivos
A chave só existiu no seu computador
Um gerador que cria a chave no servidor dele
- Seus nomes e dados vão para o servidor
- O servidor cria o par de chaves
- A chave privada é enviada de volta a você
Comprometida por definição, antes de qualquer instalação
“Uma chave privada é considerada comprometida se o seu valor foi revelado a uma pessoa não autorizada, ou se uma pessoa não autorizada teve acesso a ela.”
Já aconteceuEm 2020, uma autoridade certificadora encontrou 337 chaves privadas enviadas junto com solicitaçõesTodos os certificados envolvidos foram revogados
Como criar um CSR
Digite os nomes de host, escolha um tipo de chave e clique no botão. O resto é opcional — um certificado moderno é identificado pelos nomes alternativos, não pelo titular.
Coloque no campo de nomes todos os nomes que o certificado deve cobrir: example.com, www.example.com, um curinga como *.api.example.com ou um endereço IP. O primeiro também vira o nome comum, que os Baseline Requirements exigem — quando há um nome comum — que repita exatamente um dos nomes alternativos.
País, organização e localidade só importam para um certificado com validação de organização ou validação estendida, e mesmo assim a CA precisa validá-los por conta própria antes de incluí-los em um certificado. Em um certificado com validação de domínio — o tipo que a Let's Encrypt emite — os únicos campos de titular que as regras permitem são o país e o nome comum. O gerador marca os dois campos que uma CA pública remove ou proíbe, a unidade organizacional e o endereço de e-mail, e a coluna ao lado do formulário mostra o que mudaria.
Digite os nomes
Todos os hosts que o certificado deve cobrir; o primeiro vira o nome comumEscolha um tipo de chave
P-256, a menos que algo antigo precise lê-laCriar a solicitação
Seu navegador cria a chave e assina a solicitação com elaPegue os dois arquivos
Envie a solicitação à sua autoridade certificadora; guarde a chave
Que tipo de chave devo escolher?
ECDSA P-256 para qualquer coisa nova: é tão forte quanto uma chave RSA de 3072 bits, muito menor e permitida pelas regras que toda autoridade certificadora pública segue. RSA 2048 quando um dispositivo mais antigo precisar ler a chave.
O NIST coloca o P-256 e o RSA-3072 na mesma força de segurança de 128 bits e não dá ao RSA-4096 força nenhuma própria — o degrau seguinte da sua tabela é 7680 bits. Então o 4096 faz cada visitante gastar trabalho extra no handshake sem ganho documentado. O P-384 é o degrau de 192 bits, e os Baseline Requirements permitem também o P-521, mas a Let's Encrypt recusa o P-521: uma solicitação pode ser perfeitamente legal e ainda assim falhar na CA que você pretendia usar.
O Ed25519 é oferecido aqui porque é excelente para SSH, para assinatura e para uma CA privada — mas nenhuma autoridade certificadora pública emite um certificado TLS para ele. As regras listam o RSA e as três curvas do NIST e depois dizem que "nenhum outro algoritmo ou tamanho de chave é permitido". O mesmo vale para o ML-DSA pós-quântico: a votação que o permitiria no TLS público foi encerrada sem ser incorporada em outubro de 2026. O gerador avisa isso ao lado de cada opção, em vez de deixar você descobrir por um e-mail de rejeição.
| 112 bits | 128 bits | 192 bits | 256 bits | |
|---|---|---|---|---|
| RSA | 2048 | 3072 | 7680 | 15360 |
| RSA 4096 | 4096 | |||
| ECDSA | — | P-256 | P-384 | P-521 |
4096 bits: sem degrau próprio A tabela vai de um tamanho direto ao seguinte, então o trabalho extra de handshake não compra nada que esteja documentado
Ed25519Nenhuma autoridade certificadora pública emite para ele
ML-DSAPós-quântico: a votação que o permitiria foi encerrada sem ser incorporada em outubro de 2026
- A mesma força
- Oferecido aqui
- Na tabela, não oferecido aqui
- Aceita porLet's Encrypt
O que colocar em cada campo
Nomes: todos os hosts que o certificado cobre. País: duas letras. Organização: o seu nome jurídico, para um certificado OV ou EV. O resto é opcional, e parte dele agora é proibida.
A unidade organizacional é proibida. Pela votação SC047 do CA/Browser Forum, nenhum certificado TLS público emitido desde 1 de setembro de 2022 pode conter OU; a CA a remove em vez de recusar o pedido. Um endereço de e-mail no titular também não é permitido em um certificado com validação de domínio, e é desaconselhado nos demais. Este gerador ainda oferece os dois campos, para CAs privadas, e os marca.
O país é um código ISO 3166-1 alpha-2 — US, DE, GB, IN — e não o nome do país, nem três letras. O estado ou a província deve ser escrito por extenso, sem abreviar. Para um certificado de validação estendida você precisa também da jurisdição de constituição e do número de registro, que este gerador oferece.
| Na sua solicitação | DVValidação de domínio | OVValidação de organização | EVValidação estendida |
|---|---|---|---|
Nome comumCN | |||
PaísC | |||
OrganizaçãoO | |||
Cidade, estado ou provínciaL, ST | |||
Rua, CEPstreet, postalCode | |||
Unidade organizacionalOUProibida desde 1 de setembro de 2022 | |||
Endereço de e-mailemailAddress | |||
Número de registro, categoria de negócio, jurisdiçãoserialNumber, businessCategory, jurisdictionC |
- No certificado, como a CA o validou
- Permitido, mas desaconselhado
- Não vai neste tipo de certificado
- Nunca permitido
Posso reutilizar uma chave ou um CSR?
Pode — nada proíbe —, mas uma chave nova para cada certificado custa um segundo e limita o que uma única chave vazada pode alcançar.
Os Baseline Requirements são explícitos: "uma solicitação de certificado PODE bastar para vários certificados emitidos ao mesmo requerente", então reutilizar uma solicitação para renovar é permitido. O custo aparece quando algo dá errado. Se essa chave algum dia for comprometida, todo certificado que a carrega precisa ser revogado em 24 horas, e não só aquele que preocupava você.
E uma chave comprometida fica queimada para sempre: uma CA "DEVE rejeitar uma solicitação de certificado" se for informada de que a chave sofreu um comprometimento, então essa chave nunca mais poderá ser certificada por nenhuma CA que tenha sido avisada. Com a validade dos certificados caindo para 47 dias em 2029, uma chave reutilizada assinaria por anos, em dezenas de renovações. Criar uma nova leva um segundo.
Uma chave, reutilizada
www.example.comapi.example.commail.example.com
3 certificados revogados em 24 horas
E a chave nunca mais poderá ser certificada por uma CA que tenha sido avisada
Uma chave nova para cada um
www.example.comapi.example.comIntactosmail.example.comIntactos
1 certificado revogado em 24 horas
O que acontece depois que você envia o CSR
A CA valida os nomes, ignora a maior parte do resto e devolve um certificado. Guarde a chave privada — sem ela você não consegue instalar o certificado.
A validação é sobre os nomes, não sobre o arquivo: um registro DNS, um arquivo no servidor web ou um e-mail para um endereço do domínio. Passando isso, o certificado volta e a solicitação não serve mais para nada — não é necessária para instalar, renovar ou revogar coisa alguma. O que você precisa guardar é a chave privada, porque o certificado é inútil sem ela. Cole o certificado no decodificador de CSR e acrescente a chave privada ao lado para conferir se correspondem antes de reiniciar qualquer coisa.
O certificado será de curta duração. Um certificado TLS público emitido hoje não pode passar de 200 dias, caindo para 100 em 15 de março de 2027 e para 47 em 15 de março de 2029. Com essas durações a renovação precisa ser automática, o que significa ACME — e um cliente ACME faz a solicitação por você, então esta página serve para os casos que um cliente não cobre: um dispositivo, um equipamento, uma CA que quer uma solicitação feita à mão.
- Seu computadorVocê envia a solicitação
- A autoridade certificadoraEla confere que você controla cada nomeUm registro DNSUm arquivo no servidor webUm e-mail para um endereço do domínio
- A autoridade certificadoraEla assina o certificado e o devolve
- Seu computadorVocê o instala ao lado da chaveDepois disto a solicitação não serve mais para nada
- 398 diasEm vigor hoje
- 200 diasa partir de 15 de março de 2026
- 100 diasa partir de 15 de março de 2027
- 47 diasa partir de 15 de março de 2029
A mesma coisa com o OpenSSL
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -keyout example.com.key -out example.com.csr cria a chave e a solicitação em uma só etapa.
O gerador escreve o comando para o que você tiver preenchido, com os nomes alternativos e cada extensão, e os nossos testes o executam no OpenSSL para conferir se ele cria o mesmo titular e as mesmas extensões que a página. Acrescente -subj "/CN=example.com" para pular as perguntas, -addext "subjectAltName=DNS:example.com,DNS:www.example.com" para os nomes e -utf8 para que um nome com acento sobreviva. -nodes deixa a chave sem criptografia: o OpenSSL 3 prefere a grafia mais nova -noenc, mas ainda aceita -nodes, a única grafia que o LibreSSL embutido no macOS conhece. Esse LibreSSL não consegue criar uma chave Ed25519; use o OpenSSL 1.1.1 ou posterior para isso.
Para conferir o que você criou: openssl req -in example.com.csr -text -verify -noout mostra todos os campos e verifica a autoassinatura, parando antes de imprimir qualquer coisa se a assinatura falhar. Para confirmar que a chave pertence à solicitação, compare openssl req -in example.com.csr -pubkey -noout com openssl pkey -in example.com.key -pubout. Nenhum padrão atribui uma extensão de arquivo a um CSR, então .csr, .pem, .req e .txt estão todas corretas.
1openssl req -new 2-utf8 3-newkey ec 4-pkeyopt ec_paramgen_curve:prime256v1 5-nodes 6-keyout example.com.key 7-out example.com.csr 8-sha256 9-subj '/CN=example.com' 10-addext 'subjectAltName=DNS:example.com,DNS:www.example.com'
openssl req -newCria uma solicitação de assinatura de certificado-utf8Lê o titular como UTF-8, para que um nome com acento sobreviva-newkey…e um novo par de chaves junto com ela-pkeyoptNa curva P-256-nodesDeixa o arquivo da chave sem criptografia (o OpenSSL 3.0 também aceita -noenc)-keyoutOnde a chave privada é gravada-outOnde a solicitação é gravada-sha256O hash com que a solicitação é assinada-subjO titular, para que ele não faça perguntas-addextOs nomes alternativos
Lê de volta e verifica a própria assinaturaopenssl req -in example.com.csr -text -verify -noout
A chave pertence à solicitação? As duas saídas têm de ser idênticasopenssl req -in example.com.csr -pubkey -nooutopenssl pkey -in example.com.key -pubout
Criar um CSR no Windows, no IIS e no macOS
O Windows tem o certreq e um arquivo .inf; o macOS tem o Acesso às Chaves. Os dois têm uma armadilha que vale conhecer antes de começar.
No Windows, certreq -new request.inf request.req lê um arquivo cuja seção [NewRequest] define o titular e o tamanho da chave, e cujos nomes alternativos vão em [Extensions] sob o OID 2.5.29.17 com linhas _continue_ — não existe uma chave SAN=, um erro fácil de cometer. A própria página de referência da Microsoft avisa que o exemplo usa SHA-1, e a Let's Encrypt recusa uma solicitação assinada com SHA-1, então defina o hash por conta própria.
No Mac, Acesso às Chaves > Assistente de Certificado > Solicitar um Certificado de uma Autoridade de Certificação cria uma; o tipo e o tamanho da chave ficam atrás da caixa "Permitir-me especificar as informações do par de chaves", e chaves RSA abaixo de 2048 bits não são mais oferecidas. Nenhum dos dois caminhos facilita os nomes alternativos, e é por isso que um comando costuma ser o caminho mais fácil.
certreqWindows Server e IIS
O certreq lê um arquivo de texto simples e grava a solicitaçãocertreq -new request.inf request.req[NewRequest]Subject = "CN=example.com"KeyAlgorithm = RSAKeyLength = 2048HashAlgorithm = sha256RequestType = PKCS10[Extensions]2.5.29.17 = "{text}"_continue_ = "DNS=example.com&"_continue_ = "DNS=www.example.com"Os nomes alternativos: uma extensão identificada pelo OID, um nome por linha
Defina o hash por conta própria: o exemplo da própria Microsoft é escrito em torno do SHA-1, que uma autoridade certificadora recusa
Não existe uma chave SAN=Keychain AccessmacOS
O Acesso às Chaves cria uma a partir do Assistente de CertificadoO seu Mac dá nome a estes menus no idioma deleLet me specify key pair information
O tipo e o tamanho da chave ficam atrás desta caixaRSA até 4096; abaixo de 2048 não é mais oferecidoUm gerador de CSR online é seguro?
Depende inteiramente de onde a chave é criada. Uma página que a cria no seu navegador é segura; uma página que a cria no servidor dela já teve acesso à sua chave privada.
O teste é simples e você mesmo pode fazê-lo: abra o painel de rede do navegador, gere uma solicitação e acompanhe. Se a chave é criada na página, nem ela nem nada do que você digitou sai: aqui, as únicas requisições são a da própria página e de duas listas públicas de nomes, iguais para todo visitante. Se uma requisição sai e uma chave volta, essa chave existiu antes em outro lugar e, pela definição do próprio setor, está comprometida antes mesmo de você instalá-la.
Esta página faz todo o trabalho no navegador: o par de chaves vem de crypto.subtle.generateKey dentro de um quadro isolado que não pode se conectar a lugar nenhum, a página escreve a solicitação em torno da chave pública e o quadro a assina uma vez com a chave privada, que nunca sai dele. Os dois arquivos aparecem no seu navegador e em nenhum outro lugar. Se você preferir não confiar em nenhuma página web para isso, o comando OpenSSL desta página faz a mesma coisa na sua própria máquina — nós o mostramos exatamente por esse motivo.
Esta página
tlds.jsonA lista de domínios de nível superior — a mesma para todo visitantesuffixes.jsonA lista de sufixos públicos — a mesma para todo visitanteNada do que você digitou, e nenhuma chave, sai da página
Um gerador que cria a chave no servidor dele
…/generateSeus nomes e dados-----BEGIN PRIVATE KEY-----Uma chave privada, criada em outro lugarUma chave volta pela rede: ela existiu antes em outro lugar
Gerador de CSR: perguntas e respostas
Como criar um CSR?
É seguro gerar um CSR online?
Que tipo de chave devo escolher?
Posso usar uma chave Ed25519 em um certificado público?
Para que serve o arquivo da chave privada?
Preciso preencher a organização e o país?
Por que o campo de unidade organizacional me avisa?
OU é proibido em um certificado TLS público. Pela votação SC047 do CA/Browser Forum, nenhum certificado TLS público emitido desde 1 de setembro de 2022 pode contê-lo, então as autoridades certificadoras o removem do pedido em vez de recusá-lo. Este gerador ainda oferece o campo, para CAs privadas, e diz o que uma CA pública fará.Posso colocar mais de um domínio em um CSR?
www, se você a quiser. Você pode misturar curingas e nomes simples e acrescentar endereços IP, embora nem toda CA venda certificados para um endereço.Posso reutilizar um CSR ou uma chave no próximo certificado?
O que é uma challenge password?
Isto funciona para um certificado curinga?
*.example.com nos nomes e acrescente também example.com se quiser cobrir o domínio sem prefixo — um curinga substitui exatamente um rótulo e não corresponde ao nome sob o qual está. O asterisco tem de ser o rótulo inteiro mais à esquerda, e nenhuma CA emite um curinga sobre um sufixo público como *.co.uk.O que faço com os arquivos depois?
Sentiu falta de algo?Sugira um recurso ou uma nova ferramenta
Ferramentas relacionadas
Decodificar CSR e Certificado
Decodifique um CSR ou certificado SSL: requerente, SANs, tamanho da chave, validade, emissor, fingerprint, verificação da assinatura e correspondência CSR-certificado
Verificador de Certificado SSL
Verifique a validade e detalhes de segurança do certificado SSL
Gerador de registro DKIM
Crie um par de chaves DKIM no seu navegador e obtenha o registro TXT selector._domainkey para publicar
Gerador de Senhas
Senhas, frases-senha e PINs fortes e aleatórios, gerados no navegador, com bits exatos e tempo de quebra
Verificação de saúde DNS
Avalie o DNS: delegação, servidores de nomes, SOA, DNSSEC e e-mail em 40 testes
Gerador de UUID
Gere UUID v4, v7, v1, v5 e v3 ou GUIDs em massa, em qualquer formato, e decodifique a versão e o timestamp de um UUID
