Como gerar um certificado digital grátis (autoassinado)
Para Windows
Você irá precisar do OpenSSL, que é uma robusta biblioteca de código aberto que implementa os protocolos de segurança SSL e TLS, além de ser uma ferramenta de criptografia universal indispensável para desenvolvedores. Ela permite gerar chaves privadas, criar solicitações de assinatura, gerenciar certificados e compactar arquivos no padrão de segurança PKCS#12 (como os formatos .pfx ou .p12), garantindo total compatibilidade com bibliotecas de programação web como o Forge do seu assinador.
Como o projeto oficial do OpenSSL disponibiliza apenas o código-fonte, para utilizá-lo no ambiente Windows sem precisar compilar nada do zero, você deve recorrer a binários pré-compilados por terceiros confiáveis. O repositório mais tradicional e recomendado pela própria comunidade de tecnologia é o Win32/Win64 OpenSSL, mantido pela Shining Light Productions. Você pode acessar a página oficial de downloads deles através do endereço slproweb.com/products/Win32OpenSSL.html. Para o seu fluxo de desenvolvimento, basta baixar e instalar a versão estável mais recente identificada como Win64 OpenSSL Light, que já contém todos os executáveis necessários para rodar os seus comandos e gerar os seus arquivos diretamente no Prompt de Comando ou PowerShell.
Para iniciar o processo de confecção do certificado, abra no terminal no seu Windows e digite os códigos abaixo:
Gera a chave privada:
mkdir "C:\Certificados" && "C:\Program Files\OpenSSL-Win64\bin\openssl.exe" genrsa -out "C:\Certificados\chave_privada.key" 2048Gera o certificado
"C:\Program Files\OpenSSL-Win64\bin\openssl.exe" req -new -x509 -key "C:\Certificados\chave_privada.key" -out "C:\Certificados\certificado.crt" -days 365Gera o certificado com senha
"C:\Program Files\OpenSSL-Win64\bin\openssl.exe" pkcs12 -export -out "C:\Certificados\certificado.p12" -inkey "C:\Certificados\chave_privada.key" -in "C:\Certificados\certificado.crt"Chave pública
"C:\Program Files\OpenSSL-Win64\bin\openssl.exe" rsa -in "C:\Certificados\chave_privada.key" -pubout -out "C:\Certificados\chave_publica.key"Para Linux
Gerar chave privada:
openssl genrsa -out "chave_privada.key" 2048Gera o certificado:
openssl req -new -x509 -key "chave_privada.key" -out "certificado.crt" -days 3600Gera o certificado com senha
openssl pkcs12 -export -out "certificado.p12" -inkey "chave_privada.key" -in "certificado.crt"Gera a extrai a chave pública:
openssl rsa -in "chave_privada.key" -pubout -out "chave_publica.key"