gpgを使用して電子メールに含まれる添付ファイルを復号化するには?

gpgを使用して電子メールに含まれる添付ファイルを復号化するには?

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でエンコードされたメッセージは電子メールコンテンツで、2番目のメッセージは私が探している添付ファイルです。これを解読するために、添付ファイル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でエンコードされたEメールには、Eメールファイルに添付ファイルが含まれています。これらの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

これが終了を示します。 (--最後に2つの追加項目を参照してください):

-----------------------280fe25f5480076f6dcc4a82dc971dc5--

最初の数行はメタデータです。便利な部分は次のとおりです。

dGhpcyBpcyB0aGUgYmFzZTY0IGVuY29kZWQgdGV4dAo=

このコンテンツをコピーして保存したら、textfile.txt次のコマンドを実行して実際のコンテンツを表示できます。

base64 -d textfile.txt

イメージまたは同様のバイナリファイルの場合は、出力を最終ファイル名にリダイレクトします。

base64 -d tempfilename.base64 > picture.jpg

関連情報