Ajuda

Certificado SSL localhost autoassinado para IP e domínios locais

Esta ferramenta transforma os nomes do seu site local em um certificado e uma chave privada prontos para o seu servidor de desenvolvimento. Tudo acontece no navegador: nada é enviado nem salvo. No fim, você baixa server.crt e server.key em um único ZIP.


Gerar certificado autoassinado para localhost, domínios e IP

Cada nome que você digita entra na lista Subject Alternative Name (SAN), a que os navegadores atuais conferem. Não há nada para configurar nem para colar.

O par de chaves é criado pelo WebCrypto do seu navegador, e o certificado é montado e assinado na própria página.

Certificado SSL autoassinado: passo a passo

  1. Confira o campo Domínios e endereços IP. Ele começa com localhost, 127.0.0.1; substitua ou amplie com os seus nomes, por exemplo localhost, 127.0.0.1, 192.168.1.5.
  2. Se quiser, abra Configurações para mudar Válido por (dias) ou Tamanho da chave RSA.
  3. Clique em Gerar certificado. Depois do rápido passo Gerando seu certificado…, aparece Seu certificado está pronto.
  4. Clique em Baixar ZIP. O arquivo local-ssl-certificate.zip contém server.crt (o certificado) e server.key (a chave privada).
  5. Adicione server.crt ao repositório de certificados confiáveis do seu computador com Confie nele no seu computador e configure o servidor com os dois arquivos.
  6. Para mudar um nome ou uma configuração, clique em Alterar nomes ou configurações e gere de novo.

Criar certificado SSL para localhost e endereços IP

Separe as entradas com vírgulas, espaços ou quebras de linha. Cada uma é classificada sozinha como nome DNS ou endereço IP:

Um certificado pode cobrir até 50 nomes. Digite só o nome do host ou o endereço: uma entrada com https:// ou com número de porta é rejeitada, e o erro mostra exatamente quais não eram válidas. O nome que você digita na barra de endereço precisa ser um dos nomes do certificado, senão o navegador continua avisando.

Configurações: validade e tamanho da chave

Válido por aceita de 1 a 397 dias e começa em 365. Um número fora desse intervalo é ajustado para o limite mais próximo. O certificado vale a partir do momento em que você o gera, e Válido até mostra no resultado a data de término. Quando vencer, gere um novo.

O Tamanho da chave RSA é de 2048 bits por padrão, o que é rápido e aceito em qualquer lugar. Escolha 4096 bits para uma chave maior; ela pode levar alguns segundos para ser criada.

O resultado mostra Cobre (todos os nomes), Válido até, Chave e a Impressão digital SHA-256. O certificado é um X.509 versão 3 autoassinado, assinado com a própria chave em SHA-256 com RSA. O nome comum é a primeira entrada digitada, mas os navegadores leem a lista SAN. O número de série é aleatório.

Gerar certificado autoassinado e confiar nele no Windows, Mac e Linux

O navegador avisa sobre um certificado autoassinado até que ele esteja no repositório de confiança. Extraia o ZIP, abra um terminal nessa pasta e rode o comando do seu sistema. Cada um aparece também pronto para copiar em Confie nele no seu computador.

O Firefox mantém uma lista própria, e o Chrome no Linux também. Importe server.crt lá em Configurações, Certificados, Autoridades. Algumas ferramentas de desenvolvimento também têm lista própria: passe server.crt nas configurações delas. Reinicie o navegador depois de confiar no certificado.

Usar o certificado no servidor e guardar a chave

Aponte a configuração de certificado do seu servidor web para server.crt e a da chave privada para server.key, depois reinicie o servidor. No nginx elas se chamam ssl_certificate e ssl_certificate_key; no Apache, SSLCertificateFile e SSLCertificateKeyFile. Depois abra o site com um dos nomes do certificado, com https:// na frente.

Mantenha server.key em sigilo: quem tiver esse arquivo pode se passar pelo seu site local. Não a envie para um repositório público. A ferramenta serve só para desenvolvimento local; nunca coloque um certificado autoassinado em um site público.


Perguntas frequentes

Como criar um certificado SSL para localhost?

Deixe localhost, 127.0.0.1 no campo «Domínios e endereços IP», clique em «Gerar certificado» e depois em «Baixar ZIP». Você recebe server.crt e server.key. Aponte seu servidor web local para esses dois arquivos e adicione server.crt ao repositório de certificados confiáveis do computador para o navegador parar de avisar.

Dá para gerar um certificado autoassinado para um endereço IP?

Dá. Digite o endereço no campo «Domínios e endereços IP», por exemplo 192.168.1.5. IPv4 e IPv6 funcionam, inclusive a forma com colchetes [::1]. Cada IP é gravado no certificado como uma entrada de endereço IP, que é o que o navegador confere ao abrir https://192.168.1.5. Digite só o endereço, sem https:// nem porta.

Posso criar um certificado autoassinado curinga?

Pode. Digite um curinga como *.example.test e ele é adicionado como nome DNS. O curinga cobre um único nível: *.example.test vale para app.example.test, mas não para example.test nem para a.b.example.test. Adicione example.test à parte se precisar.

Preciso do OpenSSL para gerar um certificado autoassinado?

Não. O par de chaves é criado pelo WebCrypto do seu navegador e o certificado é montado e assinado na página, então não há comando para rodar nem nada para instalar. O OpenSSL só serviria se você quiser converter os arquivos para outro formato depois.

Como confiar no certificado no Windows?

Abra o PowerShell como administrador, vá até a pasta onde você extraiu os arquivos e rode Import-Certificate -FilePath .\server.crt -CertStoreLocation Cert:\LocalMachine\Root. Isso copia o certificado para o repositório de autoridades raiz confiáveis, que o Chrome e o Edge leem.

Como confiar no certificado no Mac, no Ubuntu ou no Firefox?

No Mac, rode na pasta do server.crt: sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain server.crt. No Debian e no Ubuntu, copie o arquivo para /usr/local/share/ca-certificates/ e rode sudo update-ca-certificates. O Firefox não usa o repositório do sistema: importe server.crt nas configurações dele, em Certificados e Autoridades.

Posso obter um arquivo PFX, uma CSR ou um certificado Let's Encrypt?

Não. Esta ferramenta cria um certificado autoassinado em formato PEM: server.crt e server.key. Ela não cria uma solicitação de assinatura (CSR), nem um certificado assinado por uma CA ou público, nem uma CA raiz separada. Se você precisar de um PFX, o comando pkcs12 do OpenSSL pode montá-lo a partir dos dois arquivos.