Gmail에서 받은 이메일을 해독하면 해독된 이메일 본문에 Base64로 인코딩된 문자열로 첨부 파일이 수신됩니다.
그런 다음 실제로 첨부 파일을 얻으려면 base64 문자열을 수동으로 추출하고 base64 -d 또는 유사한 방법을 사용하여 디코딩해야 합니다.
발견된 첨부 파일을 별도의 파일로 해독하고 Base64로 디코딩하기 위한 gpg 매개변수를 찾을 수 없다는 사실에 놀랐습니다. 이를 수행하는 편리한 방법이 있습니까?
답변1
내 경우에도 Protonmail은 첨부 파일을 다음과 같이 암호화했습니다.
-----BEGIN PGP MESSAGE-----
Content-Type: text/html
Version: ProtonMail
wcBMA9huJ3ednol8AQf9GkIDfBmoLhXbkfQ/xiH/IA6c5FSXS5t0ybrKL/c0
... base 64 ...
PO/ZPcImGYDYUgd1VkItf9xdnFo02c9OF+8=
=r9ZO
-----END PGP MESSAGE-----
--b1_UtzHbBo7cr7IHemm3M2xGQe8Ak73bka7W7I3ZHMX6c
Content-Type: application/octet-stream; name="=?utf-8?Q?name.jpg.pgp?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="=?utf-8?Q?name.jpg.pgp?="
wcBMA9huJ3ednol8AQf+OX4BrthHHn10wHpniO8+qt4pDFpOZiqNOawF1sDeWeu5mmimF8hsma5V
... long base64 ...
bm//YnWeec1rBfdTbu2eCf4Z7snf2Q==
첫 번째 Base64로 인코딩된 메시지는 이메일 콘텐츠이고 두 번째 메시지는 제가 찾고 있는 첨부 파일입니다. 이를 해독하기 위해 첨부 파일 base64를 다음 -----BEGIN PGP MESSAGE-----
과 같이 채웠습니다 -----END PGP MESSAGE-----
.
-----BEGIN PGP MESSAGE-----
wcBMA9huJ3ednol8AQf+OX4BrthHHn10wHpniO8+qt4pDFpOZiqNOawF1sDeWeu5mmimF8hsma5V
... long base64 ...
bm//YnWeec1rBfdTbu2eCf4Z7snf2Q==
-----END PGP MESSAGE-----
그런 다음 새 파일에 저장하고 decrypt 를 사용하십시오 gpg -o name.jpg -d encrypted_attachment.txt
.
이는 불편하지만 스크립트를 사용하여 프로세스를 자동화할 수 있습니다(예: 파일에서 모든 첨부 파일을 찾아 PGP MESSAGE 청크로 채운 다음 별도의 파일에 쓴 다음 암호를 해독합니다).
답변2
GPG로 직접 이 작업을 수행할 수 있는 편리한 방법은 없지만 해독한 HTML 메시지를 Thunderbird로 가져올 수 있습니다. 그러면 Base64로 인코딩된 첨부 파일을 올바르게 구문 분석하여 정상적으로 처리할 수 있습니다.
수동 지침을 찾는 사람들은 아래를 참조하세요.
MIME으로 인코딩된 이메일에는 이메일 파일에 첨부 파일이 포함되어 있습니다. 이러한 MIME 인코딩 첨부 파일은 base64로 인코딩됩니다. 예는 다음과 같습니다.
-----------------------280fe25f5480076f6dcc4a82dc971dc5
Content-Type: application/pgp-keys; filename="textfile.txt - [email protected] - textfile.txt"; name="textfile - [email protected] - textfile.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="textfile - [email protected] - textfile.txt"; name="textfile - [email protected] - textfile.txt"
dGhpcyBpcyB0aGUgYmFzZTY0IGVuY29kZWQgdGV4dAo=
-----------------------280fe25f5480076f6dcc4a82dc971dc5--
이는 첨부 세부사항의 시작을 표시합니다.
-----------------------280fe25f5480076f6dcc4a82dc971dc5
이것이 끝을 나타냅니다. ( --
끝 부분에 두 개의 추가 항목을 참고하세요):
-----------------------280fe25f5480076f6dcc4a82dc971dc5--
처음 몇 줄은 메타데이터입니다. 유용한 부분은 다음과 같습니다.
dGhpcyBpcyB0aGUgYmFzZTY0IGVuY29kZWQgdGV4dAo=
이 콘텐츠를 복사하고 저장한 후 textfile.txt
다음 명령을 실행하여 실제 콘텐츠를 볼 수 있습니다.
base64 -d textfile.txt
이미지나 이와 유사한 바이너리 파일인 경우 출력을 최종 파일 이름으로 리디렉션합니다.
base64 -d tempfilename.base64 > picture.jpg