다른 시스템의 openssl을 사용하여 한 시스템에 인코딩된 파일을 디코딩합니다.

다른 시스템의 openssl을 사용하여 한 시스템에 인코딩된 파일을 디코딩합니다.

다음 명령을 사용하여 openSSL을 사용하여 Ubuntu 시스템의 파일을 암호화합니다.

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

FTP 서버로 전송합니다. 이제 ftp에서 다른 컴퓨터로 파일을 복사하고 다음 명령을 사용하여 해독을 시도합니다.

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

다음과 같은 오류가 발생합니다.

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

파일 전송으로 인한 문제인가요, 아니면 다른 시스템에 암호화된 파일을 복호화할 수 없는 건가요?

편집하다:-

ls -l( -out decrypt.tar.gz) 및 ( -out decrypt.tar.gz) 없이 해독 명령을 실행한 후 명령을 실행했습니다 .소금인수를 입력하면 다음과 같은 출력이 표시됩니다.

-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

그래서 무언가를 대량 생산하고 있지만 오류가 발생하고 tar결과 파일이 gzip아카이브가 아니라고 불평합니다.

업데이트:- 원본 파일과 ftp에서 전송된 파일의 MD5 체크섬(@Oliver Salzburg가 제안한 대로)을 계산했는데 놀랍게도 두 파일 모두에 대해 동일한 값을 제공합니다.

21b95cb2431c5d61c93fe642d63ca7d0

답변1

일반적으로 이와 같이 암호화된 파일은 다른 시스템에서 해독 가능해야 합니다(확인하기 위해 방금 테스트했습니다).

따라서 파일이 "손상"되었거나 암호 해독과 충돌하는 다른 것이 있습니다. 그러나 나는 그것에 대해서만 가정을 할 수 있었습니다. 키/인증서를 텍스트로 전송할 때 이와 유사한 문제가 발생한 것을 기억합니다. 결과 파일에는BOM여기에 첨부되어 암호화/암호 해독 프로세스에 문제가 발생했습니다(또한 도움이 되지 않는 유니코드로 변환되었습니다).

답변2

명령은 다음과 같아야 합니다.

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

Oliver가 언급한 것처럼 복호화에 대한 입/출력은 암호화의 입/출력과 반대입니다.

또한 .enc마지막 규칙을 적용하면 "양파"의 첫 번째 계층은 타르링된 데이터가 아니라 암호화된 데이터입니다.

관련 정보