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チャンクで埋め、別のファイルに書き込んでから復号化します)。

おすすめ記事