Расшифровка файла в openssl 1.1.1c из шифрования в openssl 1.0.2k
Нам нужно найти способ расшифровать файлы, созданные на более старом сервере с использованием openssl версии 1.0.2k, на обновленном сервере с использованием openssl версии 1.1.1c. У нас есть несколько операционных серверов, все еще использующих версию 1.0.2k, поэтому мы не можем просто обновить всех до новой версии. Все это произошло во время необходимого обновления нашего программного обеспечения на новых серверах до centos 8 с более старого centos 7. Centos 8 использует 1.1.1c, а centos 7 использует 1.0.2k.
В версии 1.0.2k команда используется для шифрования:
tar -cz files.tar.gz | openssl enc -aes-256-cbc -e > secured.tar.gz.enc
В версии 1.1.1c для расшифровки файла я попытался:
openssl enc -d -aes-256-cbc -md md5 -pbkdf2 -iter 1000000 -in secured.tar.gz.enc > test.tar.gz
Я получаю ошибку:
bad decrypt
<numbers....>:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad
decrypt:crypto/evp/evp_enc.c:603:
Из информации здесь указано, что ошибка может быть связана с версией 1.0.2k, использующей md5 по умолчанию, и версией 1.1.1c, использующей sha256. Таким образом, используя -md md5
.
Если я не использую -pbkdf2 -iter 1000000
, я получаю ошибку:
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.
Я дважды проверил пароль, и он правильный. Не знаю, в чем еще может быть проблема.