muttメールボックスのPGPを取り除く

私の偏執的な見解では、可能であれば、メールとIMによるすべての通信を暗号化する必要があります。 (私が隠すものがあるからではなく、どこで、どこで、プロバイダーで、またはシークレットサービスで、彼がどこで働いているかに関係なく、私のメッセージを隣人ペティアに見せる理由がないからです。)メールの場合、これはPGP / GPGです、IMの場合はOTRです。 ただし、この暗号化は、メールボックス/ IMログのネジではなく、ネットワークを介した送信中のメッセージを保護するように設計されています。 ネジには意味がありません。いくつかの問題は、メッセージの検索が遅い(MUA検索が暗号化された文字でも機能する場合)、単純なスクリプトでメールボックスを処理できないなどです。 ネジのデータを暗号化する必要がある場合は、一部の文字についてはPGPよりも適切で汎用的な手段が他にもあります。



PGPはネットワークを介した送信中にのみ必要であるため、受信/送信時にメッセージを暗号化/復号化するのに理想的なソリューションです。 ローカルPOP3 / SMTPリレーサーバーを使用します。 この場合、すべてのメールクライアント(MUA)は自動的に「PGPサポート」を受け取りますが、同時にPGPについて何も知らず、暗号化されていない文字を使用していました。 Windowsでは、このようなサーバー-GPGrelayがあります。 * NIXの下で、アナログが見つかりませんでした。 送信メールを自動的に暗号化できるkuvertユーティリティがありますが、受信メールを復号化するユーティリティは見つかりませんでした。



しかし、muttのモットーは無駄ではありません。 これは、あまり必要ありません。」-私は、その柔軟性、qmailの小さな補助スクリプト、およびこの一見普通のタスクを解決するそのような母親の助けを借りて管理しました。



手紙を送る



これにより、すべてがシンプルになります。 Muttは、通常どおり、送信される電子メールの暗号化を担当します。 したがって、どのメッセージが暗号化され、どのメッセージが暗号化されていないかを確認/制御します。 そして、私のメールボックスには、送信されたメッセージの暗号化されていないバージョンがあり、〜/ .muttrcに追加するだけです:

set fcc_clear=yes







メールを受け取る



そして、ここで困難が生じました。 Muttには、メッセージ(添付ファイルを含む)を正しく復号化する復号化保存機能があり、復号化されたメッセージを指定されたメールボックスに保存し、暗号化されたオリジナルを削除します。 (ちなみに、decode-saveと混同しないでください。decode-saveはほぼ同じことを行いますが、さらに悪いことに、少なくとも添付ファイルをサポートしていないようです。興味深いことに、mutt decode-saveのデフォルトではEsc + sボタンのどの組み合わせにも割り当てられていません。)これを使用して、現在のメールボックスの暗号化されたバージョンを暗号化されていないバージョンに置き換える-開くときにメッセージを自動的に復号化するフックを作成できます。

message-hook '~h"Content-Type: multipart/encrypted"' 'push <decrypt-save>\cu^<Enter><sync-mailbox><Enter>'





このアプローチには、いくつかの機能/欠点があります。

最後の問題を解決するために、小さなaddgpginfoスクリプトを作成しました。 暗号化または暗号化および署名された場合、STDINへの手紙を受け取り、非標準のGPGヘッダーを手紙に追加します:暗号化/署名に関する完全な情報とともに、パラメータで指定されたプログラムを起動し、STDINへの修正された手紙を提供します。 〜/ .qmailで使用するために開発しましたが、理論的にはこの方法はprocmailのような同様のプログラムで動作するはずです。 たとえば、〜/ .qmailにある場合:

./Maildir/





その後、代わりに書く:

|addgpginfo qmail-local "$USER" "$HOME" "$LOCAL" "" "nodeliver" "$HOST" "$SENDER" ./Maildir/







パラノイアの理由により、着信レターからの可能性のあるGPG:ヘッダーの削除を追加する必要があります(そうすることで、誰かが他の誰かの名前から、署名が正しく署名されていると書かれているヘッダーに署名のないレターを送信できなくなります)。 互換性の理由から、GPG:ヘッダーの名前をX-GPG:に変更します。 しかし、これらは些細なことです。 addgpginfoを機能させるには、-write-env-fileオプションを使用してgpg-agentを実行し、Xを実行する必要があります(「:0」がない場合は、パラメーターを使用して$ DISPLAYを渡すことができます)。



結果は次のようになります。

画像







All Articles