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
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
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
4. Testando os provedores carregados
Verifique se o provedor legacy está ativo:
openssl list -providers
Se tudo estiver correto, você verá algo como:
Providers:
default
legacy
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
Agora, execute o comando de criptografia usando RC2-40-CBC:
openssl enc -rc2-40-cbc -e -in input.txt -out output.enc -provider legacy
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
Depois, confira o conteúdo do arquivo decrypted.txt
:
cat decrypted.txt
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"
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)