Я шифрую файл, чтобы передать его с хоста 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)