Я шифрую файл, чтобы передать его с хоста ubuntu 16.04 или 18.04 на хост Centos 7.3.
Я шифрую как что:
openssl des3 -e -kfile MY_SYMETRIC_KEY_FILE -in FILE_TO_BE_CRYPTED -out CRYPTED_FILE
И расшифровать вот так:
openssl des3 -d -kfile MY_SYMETRIC_KEY_FILE -in CRYPTED_FILE -out UNCRYPTED_FILE
версии openssl, которые у меня есть:
Ubuntu 16.04 : 1.0.2g
Centos 7.3 : 1.0.1e
Ubuntu 18.04 : 1.1.0g
Зашифровать из Ubuntu 16.04, расшифровать на Ubuntu 16.04: это нормально
Зашифровать из Ubuntu 16.04, расшифровать на Centos 7.3: это в порядке
Зашифровать из Ubuntu 18.04, расшифровать на Ubuntu 18.04: все в порядке
Но когда я зашифрую из Ubuntu 18.04 и расшифрую на Centos 7.3: я получаю эту ошибку:
bad decrypt
140503464642464:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:604:
Почему? Как я могу решить эту проблему?
Я решил это с помощью этой команды шифрования:
openssl des3 -e -md md5 -kfile MY_SYMETRIC_KEY_FILE -in FILE_TO_BE_CRYPTED -out CRYPTED_FILE
(Добавлена опция -md md5)