Gerador de certificado autoassinado e CSR

Crie um certificado TLS X.509 autoassinado, um certificado de CA ou um CSR com SANs, chaves RSA de 2048 a 4096 bits e validade personalizada. Saída PEM; a chave fica com você.

O que criar

Normalmente o nome do host, ex.: localhost ou www.example.com.

Nomes DNS e endereços IP extras, separados por vírgulas ou quebras de linha. Os navegadores verificam estes, não o CN.

A chave RSA é criada com Web Crypto no seu navegador e nunca sai do seu dispositivo.

O que é Gerador de certificado SSL?

Gere os arquivos de que você precisa para TLS sem a linha de comando do OpenSSL: um certificado TLS autoassinado para desenvolvimento local ou serviços internos, um certificado de CA autoassinado para assinar seus próprios certificados, ou uma solicitação de assinatura de certificado (CSR) para enviar a uma autoridade certificadora. Você recebe o certificado ou o CSR e a chave privada RSA em formato PEM, além da impressão digital SHA-256.

Como usar Gerador de certificado SSL

  1. Escolha O que criar.
  2. Informe o Nome comum (CN) e os Nomes alternativos do titular (SAN) (nomes DNS e IPs), além dos campos opcionais de organização e localização.
  3. Escolha o Tamanho da chave e, para certificados, a Validade (dias).
  4. Clique em Gerar e baixe o certificado (.crt) ou o CSR (.csr) e a chave privada (.key).

Exemplo

Entrada
Self-signed TLS certificate, CN localhost, SANs 127.0.0.1 and ::1, RSA 2048, 365 days
Saída
-----BEGIN CERTIFICATE-----
…
-----END CERTIFICATE-----
Subject: CN=localhost
SAN: DNS:localhost, IP:127.0.0.1, IP:::1

Quando usar Gerador de certificado SSL

Use certificados autoassinados para localhost, contêineres de desenvolvimento, serviços de intranet, protótipos de IoT e para testar configurações de TLS. Os navegadores mostram um aviso até você confiar no certificado (ou na sua CA). Para sites públicos, use uma CA como a Let's Encrypt: crie um CSR aqui ou deixe o seu servidor ou cliente ACME gerar um.

Como funciona Gerador de certificado SSL

Um par de chaves RSA é gerado com a Web Crypto API do navegador (RSASSA-PKCS1-v1_5, expoente público 65537) e importado no node-forge. Para certificados, o forge monta um certificado X.509 v3 com número de série positivo aleatório de 128 bits, validade a partir de um minuto atrás pelo número de dias escolhido, titular e emissor idênticos (autoassinado) e as extensões: basicConstraints (CA verdadeiro/falso, crítica), keyUsage (digitalSignature + keyEncipherment para servidores, keyCertSign + cRLSign para CAs), extendedKeyUsage serverAuth/clientAuth, subjectKeyIdentifier e subjectAltName. O CN é acrescentado automaticamente aos SANs quando é um nome de host ou IP. A assinatura usa SHA-256. CSRs são solicitações PKCS#10 que levam os SANs em um atributo extensionRequest. As chaves são exportadas como PEM PKCS#8.

Casos de Uso Comuns

  • Ativar HTTPS no localhost ou em um servidor de desenvolvimento
  • Criar uma CA privada para uma rede interna ou laboratório
  • Gerar um CSR para um certificado comercial
  • Testar configurações de TLS no Nginx, Apache ou em um balanceador de carga

Nota de Segurança

Quem tiver a chave privada pode se passar pelo seu servidor. Mantenha o arquivo .key privado, não o envie para o Git e não reutilize chaves de desenvolvimento em produção.

Perguntas Frequentes

Por que o navegador diz que o certificado não é confiável?

Um certificado autoassinado não é emitido por uma CA em que o seu sistema confia. Importe-o (ou a CA que o assinou) no repositório de confiança do sistema operacional ou do navegador para remover o aviso nas suas máquinas.

Por que os nomes alternativos do titular são obrigatórios?

Navegadores modernos ignoram o nome comum e só comparam o nome do host com a lista de SANs, então todo nome de host e IP que você usar precisa estar listado ali.

A chave privada está segura?

Ela é gerada no seu navegador e nunca é enviada a lugar nenhum. Baixe-a, guarde-a com permissões restritas e nunca a compartilhe.

Qual tamanho de chave devo escolher?

RSA 2048 é o mínimo usual e amplamente compatível; 3072 ou 4096 dão mais margem, ao custo de handshakes mais lentos.

Explore mais categorias