Décryptage du fichier dans openssl 1.1.1c à partir du cryptage dans openssl 1.0.2k
Nous devons trouver un moyen de décrypter les fichiers produits sur un serveur plus ancien utilisant openssl version 1.0.2k dans un serveur mis à niveau utilisant openssl version 1.1.1c. Nous avons plusieurs serveurs opérationnels utilisant toujours la version 1.0.2k, nous ne pouvons donc pas simplement mettre à niveau tout le monde vers la nouvelle version. Tout cela s'est produit lors d'une mise à jour requise de notre logiciel sur des serveurs plus récents vers centos 8 à partir de l'ancien centos 7. Centos 8 utilise 1.1.1c et centos 7 utilise 1.0.2k.
Dans la version 1.0.2k, la commande utilisé pour chiffrer est :
tar -cz files.tar.gz | openssl enc -aes-256-cbc -e > secured.tar.gz.enc
Dans la version 1.1.1c pour déchiffrer le fichier que j'ai essayé:
openssl enc -d -aes-256-cbc -md md5 -pbkdf2 -iter 1000000 -in secured.tar.gz.enc > test.tar.gz
J'obtiens l'erreur:
bad decrypt
<numbers....>:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad
decrypt:crypto/evp/evp_enc.c:603:
D'après les informations ici , il est indiqué que l'erreur peut être due à la version 1.0.2k utilisant md5 par défaut et à la version 1.1.1c utilisant sha256. Donc en utilisant -md md5
.
Si je n'utilise pas -pbkdf2 -iter 1000000
j'obtiens l'erreur:
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.
J'ai vérifié le mot de passe et il est correct. Je ne sais pas quoi d'autre pourrait être le problème.