Gerador de CSR

Gerar CSR
Próximo

Para obter um certificado TLS, você precisa entregar a uma Autoridade Certificadora um Pedido de Assinatura de Certificado: seu domínio, sua chave pública e a prova de que você possui a chave privada correspondente. Este gerador produz um CSR em PEM e sua chave privada RSA no seu navegador, com os campos e o tamanho de chave que você especificar. A chave privada nunca sai da página, mas baixe-a antes de fechar a aba, porque nada é armazenado no servidor.

Como gerar um CSR

  1. 1

    Informe o nome comum (CN)

    O hostname principal que o certificado protegerá, por exemplo `www.example.com`. Curingas como `*.example.com` são permitidos.

  2. 2

    Preencha os campos da organização (opcional)

    O (organização), OU, L (cidade), ST (estado), C (código do país) e um e-mail opcional. Certificados com validação de domínio ignoram a maioria deles; certificados OV e EV exigem esses dados.

  3. 3

    Escolha um tamanho de chave

    RSA 2048 (padrão, universalmente compatível) ou os tamanhos mais fortes RSA 3072 e RSA 4096.

  4. 4

    Baixe os dois arquivos

    O `.csr` vai para sua AC; o `.key` permanece no seu servidor. Guarde a chave com segurança: perdê-la significa recomeçar do zero.

O que é gerado

Dois arquivos PEM:

example.csr (público, enviado à AC):

-----BEGIN CERTIFICATE REQUEST-----
MIIC...
-----END CERTIFICATE REQUEST-----

example.key (privado, permanece no seu servidor):

-----BEGIN PRIVATE KEY-----
MIIE...
-----END PRIVATE KEY-----

O CSR é assinado com a chave privada como prova de posse. Quando a AC emite o certificado, a chave pública do certificado corresponderá à chave do CSR, que corresponderá à chave privada do seu servidor.

Este gerador cria um CSR com o nome comum que você informar e sem extensões Subject Alternative Name (SAN). Se o seu certificado precisar cobrir vários hostnames, use as ferramentas da sua AC: clientes ACME como o Let’s Encrypt constroem a solicitação para você, e a maioria dos formulários web das ACs adiciona os nomes extras ao enviar.

Requisitos de campos por tipo de certificado

Campo Necessário em DV? Necessário em OV/EV?
Nome comum (CN) Sim Sim
Organização (O) Não Sim, verificado
Unidade organizacional Opcional Opcional
Localidade (cidade) Opcional Sim, verificado
Estado / Província Opcional Sim, verificado
País (2 letras) Recomendado Sim, verificado
Endereço de e-mail Opcional Opcional

O Let’s Encrypt e a maioria dos emissores DV automatizados olham apenas o nome comum. ACs corporativas que emitem certificados OV/EV verificam os dados da organização em registros comerciais.

Tamanhos de chave

Tamanho da chave Vantagens Desvantagens
RSA 2048 Compatibilidade universal, rápido Menor margem de segurança
RSA 3072 Mais forte, ainda universal Geração e handshake mais lentos
RSA 4096 O mais forte, ainda universal O mais lento e o maior

Para um servidor web público, RSA 2048 é o padrão seguro. Escolha 3072 ou 4096 bits se quiser uma margem de segurança maior e aceitar geração de chaves, handshakes e certificados mais lentos e maiores.

Onde os CSRs dão errado

  • O certificado não cobre o hostname: os navegadores mostram “NET::ERR_CERT_COMMON_NAME_INVALID” quando o certificado não cobre o nome exato que você visitou. O nome comum deve corresponder ao hostname completo, incluindo www se você o usar. Como este gerador cria uma solicitação com um único CN, use as ferramentas da sua AC quando precisar de nomes adicionais.
  • Limite de curingas: um curinga *.example.com corresponde apenas a um nível de subdomínio. Ele não corresponde a api.v2.example.com.
  • Domínio raiz e curinga são nomes diferentes: *.example.com não cobre o example.com puro; você precisa dos dois como nomes separados no certificado.
  • Endereço IP: a maioria das ACs públicas não emite mais certificados para endereços IP; você deve usar um hostname.

Depois de gerar

  1. Guarde a chave privada em local seguro. Permissões 0600, de propriedade do usuário do servidor web.
  2. Cole o CSR no formulário web ou na ferramenta CLI da sua AC (o Let’s Encrypt via ACME normalmente cuida disso automaticamente).
  3. Receba o certificado assinado (e a cadeia intermediária).
  4. Instale no seu servidor tanto a cadeia de certificados quanto a chave privada.
  5. Verifique com um verificador SSL.

Perguntas frequentes

Não. A geração de chaves acontece inteiramente no seu navegador. A página não armazena chaves no servidor. Baixe o arquivo da chave imediatamente; assim que você fechar a aba, ele desaparece.

Para a maioria dos sites públicos, RSA 2048 é o padrão universal seguro e é gerado rapidamente. Escolha 3072 ou 4096 bits se quiser uma margem de segurança maior e aceitar geração de chaves e handshakes mais lentos.

Sim. Use *.example.com como nome comum. Lembre-se de que um curinga corresponde a apenas um nível de subdomínio e que a maioria dos emissores DV exige validação DNS (não HTTP) para certificados curinga.

Um CSR é uma solicitação: ele diz “por favor, assine esta chave pública para estes hostnames.” Um certificado é o que a AC devolve depois de assinar. O CSR é de curta duração e não é instalado no servidor; o certificado é o que realmente atende TLS.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas