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
- 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 exemplolocalhost, 127.0.0.1, 192.168.1.5. - Se quiser, abra Configurações para mudar Válido por (dias) ou Tamanho da chave RSA.
- Clique em Gerar certificado. Depois do rápido passo Gerando seu certificado…, aparece Seu certificado está pronto.
- Clique em Baixar ZIP. O arquivo
local-ssl-certificate.zipcontém server.crt (o certificado) e server.key (a chave privada). - 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.
- 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:
- Nomes de host como
localhostoudev.example.test - Curingas como
*.example.test, que cobrem um único nível de subdomínio - Endereços IPv4 como
192.168.1.5e IPv6 como::1, com ou sem colchetes - Nomes com acentos ou letras não latinas, convertidos para você em punycode (a forma xn--)
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.
- macOS:
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain server.crt - Windows (PowerShell como administrador):
Import-Certificate -FilePath .\server.crt -CertStoreLocation Cert:\LocalMachine\Root - Debian e Ubuntu:
sudo cp server.crt /usr/local/share/ca-certificates/server.crte depoissudo update-ca-certificates - Fedora e RHEL:
sudo cp server.crt /etc/pki/ca-trust/source/anchors/e depoissudo update-ca-trust
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.