O que é OpenSSL? Como o OpenSSL funciona?

A implementação adequada do SSL é fundamental para a segurança e o sucesso de um site. E, com tantos proprietários da Web aprendendo sobre SSL pela primeira vez, é essencial equipá-los com todas as ferramentas e utilitários necessários. Uma dessas ferramentas é o OpenSSL. Então, o que é o OpenSSL e por que ele é tão importante?

O guia a seguir aborda todos os aspectos desse útil utilitário, inclusive como usar o OpenSSL e os vários comandos do OpenSSL para um gerenciamento fácil e eficiente do SSL.


Índice

  1. O que é OpenSSL?
  2. Para que é usado o OpenSSL?
  3. Como usar o OpenSSL
  4. Comandos comuns do OpenSSL

O que é OpenSSL?

O OpenSSL é uma biblioteca de criptografia completa que oferece um aplicativo de código aberto do protocolo TLS. Ele permite que os usuários executem várias tarefas relacionadas a SSL, incluindo a geração de CSR (Certificate Signing Request), geração de chaves privadas e instalação de certificados SSL.


Para que é usado o OpenSSL?

O OpenSSL é uma ferramenta de linha de comando de código aberto comumente usada para gerar CSRs e chaves privadas, instalar os arquivos SSL no servidor, mesclar arquivos, converter o certificado em vários formatos SSL, verificar as informações do certificado e solucionar possíveis problemas.

Para instalar um certificado SSL em seu site, você deve seguir algumas etapas obrigatórias, que são as mesmas para qualquer servidor ou cliente de e-mail. O OpenSSL é especialmente útil quando você não tem um painel de controle da Web ou deseja simplificar todo o processo.

Como nem todos os servidores oferecem interfaces de usuário da Web para gerenciamento de SSL, em algumas plataformas o OpenSSL é a única solução para importar e configurar seu certificado.


Como usar o OpenSSL

O OpenSSL tem tudo a ver com suas linhas de comando. Tudo o que você precisa fazer é aprender alguns comandos comuns do OpenSSL e, a cada novo certificado, o processo de configuração se tornará mais rápido e fácil.

Lançado pela primeira vez em 1998, o OpenSSL está disponível para sistemas Linux, Windows, macOS e BSD. A maioria das distribuições Linux vem com o OpenSSL pré-compilado.

Como verificar se o OpenSSL está instalado no Linux?

Para verificar se o OpenSSL está instalado em seu sistema Linux, use os comandos abaixo.

Para distribuições GNU/Linux que usam pacotes rpm:

rpm -qa | grep -i openssl

Para distribuições GNU/Linux que usam pacotes deb:

dpkg -l | grep -i openssl

Para o Arch Linux, use:

pacman -Q openssl


Como usar o OpenSSL no Windows?

Se você estiver em um sistema Windows, poderá fazer o download do OpenSSL aqui.

A instalação padrão criará um diretório para o programa em sua unidade C – C:\OpenSSL-Win32

Para executar o programa, vá para o diretório C:\OpenSSL-Win32\bin\ e clique duas vezes no arquivo openssl.exe. Uma janela de texto será aberta com um prompt do OpenSSL>.

Digite os comandos OpenSSL necessários nesse prompt. Os arquivos que você gerar estarão nesse mesmo diretório. Os comandos OpenSSL para Windows são idênticos aos usados em servidores Linux.


Comandos comuns do OpenSSL

A seguir, reunimos alguns comandos comuns do OpenSSL para usuários comuns. Use-os sempre que quiser gerar ou gerenciar seus certificados.

Verifique a versão do OpenSSL

É fundamental saber qual versão do OpenSSL você tem, pois ela determina quais algoritmos e protocolos criptográficos você pode usar. Você pode verificar sua versão do OpenSSL executando o seguinte comando:

versão do openssl -a


Gerar uma CSR com OpenSSL

Você pode usar o OpenSSL para criar seu código CSR (Certificate Signing Request). Execute o seguinte comando para gerar o CSR:

openssl req -new -key yourdomain.key -out yourdomain.csr

Você também pode enviar suas informações na própria linha de comando com a ajuda da opção -subj.

Esse comando desabilitará os avisos de perguntas:

openssl req -new -key yourdomain.key -out yourdomain.csr -subj "/C=US/ST=CA/L=San Francisco/O=Your Company, Inc./OU=IT/CN=yourdomain.com"

Como alternativa, você pode criar CSR por meio de uma ferramenta geradora de CSR.


Gerar a chave privada com o OpenSSL

Para gerar sua chave privada, você precisa especificar o algoritmo da chave, o tamanho da chave e uma frase secreta opcional. O algoritmo de chave padrão é o RSA, mas você também pode selecionar o ECDSA para situações específicas. Ao escolher um algoritmo de chave, certifique-se de que você não terá problemas de compatibilidade. Neste artigo, mostramos apenas como gerar uma chave privada por meio do algoritmo RSA.

Para o tamanho da chave, você deve escolher 2048 bits ao usar o algoritmo de chave RSA e 256 bits ao usar o algoritmo ECDSA. Qualquer tamanho de chave inferior a 2048 não é seguro, enquanto um valor maior pode reduzir o desempenho.

Por fim, você deve decidir se precisa ou não de uma frase secreta para sua chave privada. Observe que alguns servidores não aceitam chaves privadas com senhas.

Quando estiver pronto para gerar sua chave privada (com o algoritmo RSA), execute os comandos abaixo:

openssl genrsa -out yourdomain.key 2048

Esse comando criará o arquivo yourdomain.key em seu diretório atual. Sua chave privada estará no formatoPEM.


Exibir as informações da chave privada com o OpenSSL

Você pode visualizar o conteúdo codificado de sua chave privada por meio do seguinte comando:

cat yourdomain.key


Decodificar a chave privada com o OpenSSL

Para decodificar sua chave privada, execute o comando abaixo:

openssl rsa -text -in yourdomain.key -noout


Extrair a chave pública com o OpenSSL

Para extrair sua chave pública da chave privada, use o seguinte comando:

openssl rsa -in yourdomain.key -pubout -out yourdomain_public.key


Crie sua chave privada e CSR de uma só vez com o OpenSSL

O OpenSSL é tão versátil que há também um comando para gerar sua chave privada e CSR:

openssl req -out yourdomain.csr -new -newkey rsa:2048 -nodes -keyout yourdomain.key

Esse comando gera a chave privada sem uma frase secreta (-keyout yourdomain.key) e o código CSR (out yourdomain.csr).


Verifique as informações de CSR com o OpenSSL

Para garantir que você forneceu as informações corretas antes de enviar o CSR à sua CA, execute o comando abaixo:

openssl req -text -in yourdomain.csr -noout -verify


Enviar o CSR para a CA

Execute o seguinte comando para visualizar e copiar todo o conteúdo do CSR:

cat seudomínio.csr

Certifique-se de incluir as tags –BEGIN CERTIFICATE REQU EST– e –END CERTIFICATE REQUEST- e cole tudo no formulário de pedido do fornecedor de SSL.


Verificar um certificado no OpenSSL

Depois que a CA entregar o certificado SSL em sua caixa de entrada, execute o comando abaixo para garantir que as informações do certificado correspondam à sua chave privada.

openssl x509 -text -in yourdomain.crt -noout

Isso conclui nossa lista de comandos comuns do OpenSSL. Se quiser, você pode estudar todos os comandos do OpenSSL.


Linha de fundo

Agora que você sabe o que é o OpenSSL e como ele funciona, pode usar seus comandos para gerar, gerenciar e instalar certificados SSL em vários servidores. O uso do OpenSSL é, às vezes, a única opção quando você não tem um painel de hospedagem na Web.

Pode levar algum tempo até que você se familiarize com os comandos do OpenSSL, mas quanto mais você os usar, melhor será o gerenciamento do certificado SSL.

Se estiver procurando mais informações sobre o que é o OpenSSL e como ele funciona, este livro gratuito é um excelente recurso.

Perguntas frequentes

Qual é a diferença entre SSL e OpenSSL?

O SSL/TLS é um protocolo criptográfico que criptografa as comunicações entre dois aplicativos de computador em uma rede.

Por outro lado, o OpenSSL é um utilitário criptográfico que usa linhas de comando para gerenciar a geração, a instalação e a identificação de certificados SSL/TLS.

Copiar link

O uso do Openssl é gratuito?

Sim, o OpenSSL é de uso gratuito para fins comerciais e não comerciais.

Copiar link

Economize 10% em certificados SSL ao fazer seu pedido hoje!

Emissão rápida, criptografia forte, 99,99% de confiança no navegador, suporte dedicado e garantia de reembolso de 25 dias. Código do cupom: SAVE10

Escrito por

Redator de conteúdo experiente, especializado em certificados SSL. Transformação de tópicos complexos de segurança cibernética em conteúdo claro e envolvente. Contribua para melhorar a segurança digital por meio de narrativas impactantes.