Arquivo de decodificação codificado em um sistema usando openssl em outro sistema

3

Estou criptografando um arquivo na máquina Ubuntu com o openSSL usando o seguinte comando:

openssl enc -aes-256-cbc -in mydbBackup.tar -out  mydbBackup.enc.tar 
     -pass pass:scecret

Eu transfiro para o servidor ftp. Agora, quando eu copiar o arquivo do ftp para outra máquina e tentar descriptografá-lo com o seguinte comando:

openssl enc -aes-256-cbc -d -in mydbBackup.tar -out  mydbBackup.enc.tar 
     -pass pass:scecret

Recebo o seguinte erro:

bad decrypt
139727625037472:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:
bad decrypt:evp_enc.c:467:

Algum problema devido à transferência de arquivos ou não é possível descriptografar os arquivos criptografados em outro sistema?

EDITAR: -

Eu executei o comando ls -l depois de executar o comando decrypt com ( -out decrypt.tar.gz ) e sem o argumento ( -out decrypt.tar.gz ) salt e recebo a seguinte saída:

-rw-r--r-- 1 backup backup 43119360 2012-01-29 07:10 encrypt-20120128.enc.tar.gz
-rw-r--r-- 1 backup backup 43119328 2012-01-29 07:12 decrypt1.tar.gz
-rw-r--r-- 1 backup backup 43119328 2012-01-29 07:12 decrypt.tar.gz

então está produzindo algo, mas está gerando erro e tar reclama que o arquivo resultante não é gzip archive.

UPDATE: - Eu calculei MD5 checksum (como sugerido por @ Oliver Salzburg) do arquivo original e um transferido do ftp e, surpreendentemente, dá o mesmo valor para ambos os arquivos.

21b95cb2431c5d61c93fe642d63ca7d0
    
por TheVillageIdiot 29.01.2012 / 15:26

2 respostas

2

Em geral, um arquivo criptografado como esse deve ser descriptografado em outro sistema (testei apenas para ter certeza).

Portanto, o arquivo está "quebrado" ou há algo mais conflitante com a descriptografia. Mas eu só poderia fazer suposições sobre isso. Lembro-me de um problema semelhante causado pela transferência de uma chave / certificado como texto. O arquivo resultante tinha uma BOM anexada a ele, o que causava problemas com o processo de criptografia / descriptografia (ele também era convertido em Unicode, que também não ajudou).

    
por 29.01.2012 / 15:56
1

O comando deve ser:

openssl enc -aes-256-cbc -d -in mydbBackup.enc.tar -out mydbBackup.tar
 -pass pass:scecret

Como Oliver mencionou, a entrada / saída para descriptografia é o oposto da entrada / saída da criptografia.

também coloca o .enc como uma convenção, a primeira camada da "cebola" são os dados criptografados, não os dados tarados.

    
por 15.05.2013 / 01:45

Tags