openssl crypt/decrypt 从 ubuntu 16.04 到 Centos 7.3 可以,但从 ubuntu 18.04 到 Centos 7.3 不行

openssl crypt/decrypt 从 ubuntu 16.04 到 Centos 7.3 可以,但从 ubuntu 18.04 到 Centos 7.3 不行

我正在加密一个文件,以便将其从 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:

为什么?我该如何解决?

答案1

我通过使用这个加密命令解决了这个问题:

openssl des3 -e -md md5 -kfile MY_SYMETRIC_KEY_FILE -in FILE_TO_BE_CRYPTED -out CRYPTED_FILE

(添加 -md md5 选项)

相关内容