Isso ocorre porque o padrão para o resumo da mensagem foi alterado de md5 para sha-256 no OpenSSL 1.1.0. Descriptografar coisas usando o resumo antigo permanece possível, se você explicitar:
openssl des3 -d -in bla.txt.des3 -out bla.txt -md md5
Atualizei recentemente meu computador para testes Debian de 64 bits. Desde então, a descriptografia de arquivos que foram criptografados com o openssl no Debian de 32 bits não funciona mais.
Eu usei para criptografar arquivos assim:
$ openssl des3 -in bla.txt -out bla.txt.des3
e decifre assim:
$ openssl des3 -d -in bla.txt.des3 -out bla.txt
Isso ainda funciona se eu chroot em um backup da antiga instalação de teste do Debian de 32 bits. Na instalação de 64 bits, recebo o seguinte erro:
$ openssl des3 -d -in bla.txt.des3 -out bla.txt
enter des-ede3-cbc decryption password:
bad decrypt
140219224302720:error:06065064:digital envelope outines:EVP_DecryptFinal_ex:bad decrypt:crypto/evp/evp_enc.c:529:
Qual é a maneira correta de invocar openssl
no sistema de teste Debian de 64 bits para decodificar os arquivos?
EDIT informações da versão:
antigo (32 bits no chroot):
$ openssl version
OpenSSL 1.0.2j 26 Sep 2016
$ dpkg -l | grep ssl
ii libssl1.0.2:i386 1.0.2j-1 i386 Secure Sockets Layer toolkit - shared libraries
ii openssl 1.0.2j-1 i386 Secure Sockets Layer toolkit - cryptographic utility
ii ssl-cert 1.0.38 all simple debconf wrapper for OpenSSL
$ ldd /usr/bin/openssl
linux-gate.so.1 (0xf7729000)
libssl.so.1.0.2 => /usr/lib/i386-linux-gnu/libssl.so.1.0.2 (0xf769c000)
libcrypto.so.1.0.2 => /usr/lib/i386-linux-gnu/libcrypto.so.1.0.2 (0xf7498000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7493000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf72dc000)
/lib/ld-linux.so.2 (0x5663b000)
novo (64 bits):
$ openssl version
OpenSSL 1.1.0c 10 Nov 2016
$ dpkg -l | grep ssl
ii libssl1.0.2:amd64 1.0.2j-4 amd64 Secure Sockets Layer toolkit - shared libraries
ii libssl1.1:amd64 1.1.0c-2 amd64 Secure Sockets Layer toolkit - shared libraries
ii openssl 1.1.0c-2 amd64 Secure Sockets Layer toolkit - cryptographic utility
ii ssl-cert 1.0.38 all simple debconf wrapper for OpenSSL
$ ldd /usr/bin/openssl
linux-vdso.so.1 (0x00007ffe63c76000)
libssl.so.1.1 => /usr/lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f9b74487000)
libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f9b73ff6000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9b73df2000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9b73bd5000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9b73837000)
/lib64/ld-linux-x86-64.so.2 (0x000055a182164000)
Isso ocorre porque o padrão para o resumo da mensagem foi alterado de md5 para sha-256 no OpenSSL 1.1.0. Descriptografar coisas usando o resumo antigo permanece possível, se você explicitar:
openssl des3 -d -in bla.txt.des3 -out bla.txt -md md5