A ferramenta mais conhecida para geração de certificados no Linux faz parte do toolkit OpenSSL. Esse toolkit é utilizado por quase todas as aplicações que implementam SSL/TLS, como os servidores HTTP Apache e Nginx.
Normalmente, a obtenção de um certificado digital, necessário para a criptografia assimétrica usada na comunicação entre o servidor HTTP e o cliente, pode ocorrer de duas formas: pela criação de um certificado autoassinado, cuja autenticidade não é garantida por uma entidade certificadora; ou pela criação de um CSR, que será usado por uma entidade certificadora para gerar um certificado digital assinado, cuja autenticidade será garantida pela certificadora.
openssl req -new -newkey rsa:2048 -sha256 -nodes -keyout chave.key -out requisicao.csr
Guarde bem a chave privada! Se ela for perdida, você não conseguirá usar o certificado digital gerado pela sua certificadora.
Devido a uma atualização no Google Chrome, recomenda-se a geração de certificados com o parâmetro
-sha256para que não ocorram erros de certificados gerados com algoritmo SHA1 a partir de novembro de 2014.
openssl req -in requisicao.csr -noout -text
openssl req -key chavePrivada.key -new -out requisicao.csr
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout chavePrivada.key -out certificado.crt
openssl x509 -in certificado.crt -text -noout
openssl rsa -in chave.key -out chavePrivadaSemSenha.key
openssl x509 -noout -modulus -in certificado.crt | openssl md5openssl rsa -noout -modulus -in chave.key | openssl md5openssl req -noout -modulus -in requisicao.csr | openssl md5