Comandos úteis do OpenSSL

O OpenSSL é uma ferramenta muito útil e prática para trabalhar com certificados digitais, com a vantegem de ser um projeto aberto, robusto e com desenvolvimento ativo. Mais detalhes em OpenSSL.org.

A seguir, listamos os comandos mais utilizados do OpenSSL para operações com certificados digitais:

Gerar chave RSA:

Chaves de 2048 bits:

$ openssl genrsa -out nome_da_chave.key 2048

 

Antes de gerar o par de chaves, consulte o tamanho e tipo de chave suportado pela Autoridade Certificadora que irá assinar o certificado.

Gerar uma requisição de certificado:

$ openssl req -new -key nome_da_chave.key -out requisicao.csr

 

Os campos da requisição devem ser preenchidos da seguinte forma:

  • Country Name (2 letter code) [AU]: BR
  • State or Province Name (full name) [Some-State]: Sao Paulo
  • Locality Name (eg, city) [ ]: Campinas
  • Organization Name (eg, company) [Internet Widgits Pty Ltd]: Unicamp
  • Organizational Unit Name (eg, section) [ ]: Sigla da Unidade
  • Common Name (e.g. server FQDN or YOUR name) [ ]: FQDN do serviço ou máquina
  • Email Address [ ]: Email do responsável pelo serviço

Obs. FQDN: Nome completo (inclusive o domínio) do serviço cadastrado no DNS.

O arquivo .csr resultante deste comando é o que deve ser enviado à Autoridade Certificadora para ser assinado.

Exibir requisição em formato texto:

$ openssl req -inform PEM -in requisicao.csr -text

 

Este comando permite visualizar em formato texto o contúdo da requisição de certificado, muito útil para conferir os dados inseridos, por exemplo.

Converter Certificado assinado de DER para PEM

$ openssl x509 -in certificado.cer -inform der -out certificado.pem -outform pem

 

Converter Certificado assinado de PEM para DER

$ openssl x509 -in certificado.pem -inform pem -out certificado.cer -outform der

 

O DER é um formato binário, geralmente apresentado por um arquivo com a extensão .cer. O formato PEM consiste em texto codificado, geralmente apresentado com a extensão .pem ou .crt. 
Consulte a documentação do serviço que está configurando para mais informações sobre os formatos de certificado suportados.

Exibir o certificado em formato texto

$ openssl x509 -inform PEM -in certificado.pem -text

 

Neste caso, o certificado está no formato PEM (texto codificado). Para um certificado em formato DER (binário), substitua o parametro -inform PEM por -inform DER.