Logo

dev-resources.site

for different kinds of informations.

Como Habilitar o Provedor Legado no OpenSSL 3.x

Published at
12/13/2024
Categories
openssl
legacyprovider
cryptography
security
Author
gifflet
Author
7 person written this
gifflet
open
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!

cryptography Article's
30 articles in total
Favicon
How to truncate CBC ciphertext
Favicon
Bitflip Attack on CBC: Change of the Ciphertext
Favicon
Introducing Inline Cryptography Toolkit: Simplify Encryption, Decryption, and Hashing in VS Code 🚀
Favicon
olssv dvysk!
Favicon
Bitflip Attack on CBC: Change of the IV
Favicon
Exploring Quantum Computing: The Next Frontier in Technology (2025)
Favicon
Como Habilitar o Provedor Legado no OpenSSL 3.x
Favicon
VB .Net: Secure Password
Favicon
C#: Secure Password
Favicon
Enhancing Data Security with MongoDB: A Dive into Cryptography and CSFLE at Ovianta
Favicon
What is Post-Quantum Cryptography (PQC) Migration and How to Secure Data Against Quantum Threats
Favicon
"Behind the Code: How Dark Web Drug Marketplaces Operate and the Developers Who Build Them"
Favicon
The Ultimate Guide to Choosing the Right Cryptography Algorithm for Your Project
Favicon
Lithe Crypt: Simplifying Encryption in PHP Applications
Favicon
Addressing The Threat of Deepfakes With Authentic Images
Favicon
Camouflage-Shield: An Image Encryption Application.
Favicon
Comparing Decentralized Identifiers(DID) Methods
Favicon
Decentralized Identity Simplified: How to Resolve DIDs Effectively
Favicon
Key Management for DIDs in Web5: A Beginner’s Guide
Favicon
Key Management for DIDs: A Beginner's Journey
Favicon
Understanding Web5 and Its Potential
Favicon
Cryptography in Networking
Favicon
Medium article to explore Post Quantum Cryptography and algorithms comparison
Favicon
Day ??? of learning go. Building cli apps
Favicon
Building Secure and Scalable Blockchain Applications
Favicon
Introduction to Cryptography for Beginners
Favicon
GnuPG and Digital Signatures
Favicon
Cryptography Concepts Simplified
Favicon
The Hitchhiker’s Guide to Building an Encrypted Filesystem in Rust
Favicon
Cryptography #0 - Essential Concepts

Featured ones: