DEV Community

Cover image for Como Habilitar o Provedor Legado no OpenSSL 3.x
Guilherme Sousa
Guilherme Sousa

Posted on

Como Habilitar o Provedor Legado no OpenSSL 3.x

Com o OpenSSL 3.x, algoritmos antigos como RC2 foram movidos para o provedor legacy. Se você precisa usá-los (por questões de legado ou compatibilidade), é só seguir este passo a passo para habilitá-los.

1. Primeiro: confirme sua versão do OpenSSL

Antes de começar, veja se sua versão do OpenSSL é 3.x. Use o comando:

openssl version
Enter fullscreen mode Exit fullscreen mode

Se a saída for algo como OpenSSL 3.0.9, estamos no caminho certo! Caso contrário, talvez seja necessário atualizar.

2. Ativando o provedor legacy

O segredo está no arquivo de configuração do OpenSSL, o openssl.cnf. Ele geralmente fica aqui:

  • Linux: /etc/ssl/openssl.cnf
  • MacOS: /usr/local/etc/openssl/openssl.cnf
  • Windows: %ProgramFiles%\Common Files\SSL\openssl.cnf

Se não encontrar o arquivo, pode criar um novo.

Adicione ou edite o seguinte trecho:

openssl_conf = openssl_init

[openssl_init]
providers = provider_sect

[provider_sect]
default = default_sect
legacy = legacy_sect

[default_sect]
activate = 1

[legacy_sect]
activate = 1
Enter fullscreen mode Exit fullscreen mode

Isso configura o OpenSSL para carregar tanto o provedor padrão quanto o legacy.

3. Exportando a configuração

Agora, informe ao OpenSSL onde está o arquivo atualizado:

export OPENSSL_CONF=/etc/ssl/openssl.cnf
Enter fullscreen mode Exit fullscreen mode

4. Testando os provedores carregados

Verifique se o provedor legacy está ativo:

openssl list -providers
Enter fullscreen mode Exit fullscreen mode

Se tudo estiver correto, você verá algo como:

Providers:
  default
  legacy
Enter fullscreen mode Exit fullscreen mode

Se o legacy não aparecer, revise o arquivo openssl.cnf e o comando de exportação.

5. Testando o uso de algoritmos legados

Agora que o provedor legacy está ativo, você pode usar algoritmos antigos. Vamos testar isso na prática. Crie um arquivo de entrada chamado input.txt (ou substitua pelo nome de um arquivo que você já tenha):

echo "Texto de teste para criptografia." > input.txt
Enter fullscreen mode Exit fullscreen mode

Agora, execute o comando de criptografia usando RC2-40-CBC:

openssl enc -rc2-40-cbc -e -in input.txt -out output.enc -provider legacy
Enter fullscreen mode Exit fullscreen mode

Este comando faz o seguinte:

  • Lê o arquivo input.txt (que você acabou de criar).
  • Cria um arquivo criptografado chamado output.enc.
  • Usa o algoritmo RC2-40-CBC, que depende do provedor legacy.

Para verificar que deu certo, você pode descriptografar o arquivo:

openssl enc -rc2-40-cbc -d -in output.enc -out decrypted.txt -provider legacy
Enter fullscreen mode Exit fullscreen mode

Depois, confira o conteúdo do arquivo decrypted.txt:

cat decrypted.txt
Enter fullscreen mode Exit fullscreen mode

Se tudo correu bem, o texto original deve aparecer.

Dica Extra: Migre para algoritmos modernos

RC2 e outros algoritmos legados são obsoletos e inseguros. Sempre que possível, substitua por algo mais confiável, como AES-256-CBC. Aqui está um exemplo de como usar:

openssl enc -aes-256-cbc -e -in input.txt -out output.enc -k "sua-senha-segura"
Enter fullscreen mode Exit fullscreen mode

Conclusão

Agora você sabe como habilitar o provedor legacy no OpenSSL 3.x e usar algoritmos antigos. Só lembre-se: isso deve ser uma solução temporária. Para novos projetos, prefira algoritmos mais seguros para proteger seus dados!

Top comments (0)