A ferramenta mais conhecida para geração de certificados no Linux é parte do toolkit OpenSSL. Este toolkit é utilizada 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 encriptação assimétrica realizada para comunicação entre o servidor HTTP e o cliente, pode ocorrer de duas formas: Pela criação de um certificado auto-assinado, onde nenhuma entidade certificadora garante a autenticidade; Ou pela criação de um CSR, que será usado por uma entidade certificadora para gerar o certificado digital assinado, no qual terá sua autenticidade 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
-sha256
para 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 md5
openssl rsa -noout -modulus -in chave.key | openssl md5
openssl req -noout -modulus -in requisicao.csr | openssl md5