送信メッセージに行なう動作 (署名か暗号化、またはその両方) は、「y
」を
押して送信してしまう前に、「p
」オプションで見ることのできるオプション
メニューの中で正確に選択しましょう。その動作を選んでも、画面ではメッセージ
ヘッダのうちの PGP 行しか変化しません。しかし「y
」キーで
メッセージを送信するときには、メッセージの署名を有効にするためにパスフレーズ
が聞かれたり、暗号化のためにどの公開鍵を使うか (これは公開鍵束の中に受信者
の鍵が見あたらない場合ですが) 聞かれたりします。
MEMO: パスフレーズが聞かれたときに打ち間違うと Mutt が「ハング」
したようになります; しかしそうではなく、再入力を待っているのです。
再入力するためには、<Enter>
キーを押してから <Ctrl>F
(<Ctrl>
を押しながら F
) を押してメモリからパスフレーズを
消去してください。その次にメッセージ送信を (「y
」で) 再試行し、
パスフレーズを再入力します。
この手続きをすると Mutt は PGP/MIME をメッセージ送信に 使います。すると、(署名だけを選択したときは) 送信するファイルの一覧には 一つ、署名のファイルが増えます。または、メッセージ全体 (あらゆる MIME パーツ) を暗号化して、二つの MIME パーツだけにしてしまいます。 そのときの最初の一つは PGP/MIME のバージョンで、二番目のは暗号メッセージ (その中にすべての MIME パーツが入っている) で、もし署名も選択していたなら、 そのパーツには署名もされています。
Memo: 何らかの理由で受信者のメールユーザエージェントが MIME を 使えないなら、署名をメッセージ本体に含める必要があるかもしれません。 PGP5 と GnuPG の、application/pgp についての章をご覧ください。
Mutt は、PGP/MIME を使った受信メールには自動で署名の検証 や復号化を試みます。 Procmail のメモと小技 をご覧ください。そこでは、MIME タイプを正しく設定していないメッセージ が来たときに自動的に MIME タイプを変える方法が注解されています。
次の章には PGP2 や PGP5、また GnuPG を簡単に 使えるようにする Mutt 設定ファイルの編集方法が書いてあります。 (訳注: ただし、新しい Mutt を使っているなら、それらは動作しないかも しれません。PGP-Notes.txt, gpg.rc, pgp2.rc, pgp5.rc, pgp6.rc 等があれば そちらを参照するようお勧めします)
編集するのは、.gnupgp.mutt
という名前の新しい設定ファイルです (これ
は自分で決める名前なので、メイン設定ファイル ~/.muttrc
で
設定しておけば、他のどんな名前にすることもできます) 。
~/.muttrc
ファイルの最後の行にその新しい設定ファイルの
絶対パス (場所) を含めることによって、使うことができるようになります。
このファイルや他の付加的な設定ファイルを入れるディレクトリは、適切な
権限があればどこでもかまいません (前の章では ~/Mail/
に
入れました)。つまりホームディレクトリの中ならどこでも結構ですし、どんな
名前にでもできます。
~$ mkdir mutt.iroiro
では、そこに付加的な設定ファイル .gnupgp.mutt
をコピー (または
作成) して、次にその呼び出し地点を .muttrc
ファイルの中で
source
コマンドによって指定しましょう。下記のようになります。
source ~/mutt.iroiro/.gnupgp.mutt
これで Mutt は、.gnupgp.mutt
の中で設定した変数を、あたかも
直接 .muttrc
で設定したかのように受け入れるようになります。
これは設定ファイルが巨大になったり、その中の順番がバラバラになったり
するのを防ぐ、良い方法です。さらに他のあらゆる変数の設定も、こうやって
別々のファイルで行なうことができます。例えば、上記と同様 vim を
Mutt のデフォルトのエディタに使いながらも、コマンドライン
から vim を使うときの .vimrc
とは別の設定ファイルを使うよう
に .muttrc
へ書くことができます。最初に、~/.vimrc
を
付加的な設定ファイルのディレクトリ ~/mutt.iroiro/
に
コピーしてください。そして名前を別のものにします (例 vim.mutt
)。
$ cd /home/jibun
~$ cp .vimrc mutt.iroiro/vim.mutt
次に、vim が Mutt のエディタとして使われるときに変化して
ほしい変数の設定を変えて、最後に .muttrc
を編集してこの変更を
反映させます。
set editor="/usr/bin/vim -u ~/mutt.iroiro/vim.mutt"
この最後の一行によって、Mutt
が外部エディタに Vim を、
必要なオプションをつけて使うように設定しているのです。
Mutt には三つの公開鍵暗号プログラムに共通して使用する変数があります。 これらの変数は二値です。 つまり set (有効) か unset (無効) で設定します。
設定ファイル (~/.muttrc
および
~/mutt.iroiro/.gnupgp.mutt
、また何でも自分の使っているもの)
において、記号「#」以下はコメントであり、無視されます。
それで、ここからはその記号を使って各変数にコメントすることにしましょう。
# この変数が有効だと、Mutt はすべての送信メッセージに署名
# するかどうかを聞いてきます
(1)
# この変数が有効だと、Mutt はすべての送信メッセージに暗号化
# するかどうかを聞いてきます
(1)
# 暗号化したい送信メッセージを、暗号で保存します
# (一般的な設定変数 set copy=yes
が必要)
# (訳注: 最近の Mutt には存在しないようです)
# 署名されたメッセージに返事を出すときに、返信メッセージもまた
# 署名されるようになります
# 暗号化されたメッセージに返事を出すときに、返信メッセージもまた
%num; 暗号化されるようになります
# 署名された受信メッセージを自動的に検証したいですか?
# もちろんそうでしょう!
# パスフレーズを入力後 <n> 秒後にメモリキャッシュから
# 消去する
(2)
# 送信メッセージを署名するためにどの鍵を使いたいですか?
# Memo: これをユーザ ID にすることも可能ですが、
# 異なる鍵に同じユーザ ID があると混乱のもとになりかねません
# PGP が求めたときには「quoted-printable」形式を使います
# (訳注: 日本人は unset しておいた方がよいかもしれません)
# 64 ビットの鍵 ID を使わず、32 ビット鍵 ID を使います
# メッセージ内容証明アルゴリズムです(訳注: 最近の Mutt には
# 存在しない変数です)。この <some> は次のうちのいずれかです
(3)
続く三つの章では PGP の各バージョンに対する設定変数が説明されます。 四つ目の章では複数のバージョンの PGP を使っているときにそれらの変数を どう変更すればよいか説明します。
(1) 署名するたび、また暗号化するなら受信者を選ぶたびに Mutt がパスフレーズの入力を要求するので、この変数を有効にすると 不便かもしれません。たぶんこの変数を無効にしたいと思うことでしょう。 これは特に、メッセージ受信者全員の公開鍵がないときに暗号化するなら 有効にしておくべき変数と言えます。
(2) 署名したり復号化したりするメッセージの量に応じて、 キャッシュメモリの中にパスフレーズを保存しておく時間を増減させたいと 思うことでしょう。このオプションは、新規メッセージを署名したり受信 メッセージを復号化したりするたびにパスフレーズを入力する手間を省いて くれます。Warning (警告): パスフレーズをキャッシュメモリに保存する のは安全とは言えません。ネットワークに接続されているシステムなら特にそうです。
(3) これは署名に使う鍵にだけ必要です。鍵が コンポーズメニューから選ばれると、Mutt はそのアルゴリズムで 計算をすることになります。
PGP2 を Mutt-i で使うには下記の行を
~/mutt.iroiro/.gnupgp.mutt
ファイルに追加する必要があります。
(訳注: くりかえしますが、最近の Mutt では、付属してくる pgp2.rc の方が適切です)
set pgp_default_version=pgp2
set pgp_key_version=default
set pgp_receive_version=default
set pgp_send_version=default
set pgp_sign_micalg=pgp-md5
set pgp_v2=/usr/bin/pgp
set pgp_v2_pubring=~/.pgp/pubring.pgp
set pgp_v2_secring=~/.pgp/secring.pgp
ご存じのとおり、~/.pgp/pubring.pgp
と secring.pgp
というファイルが存在していなくてはなりません。PGP2 のさらなる情報は
man pgp
コマンドでどうぞ。
PGP5 を Mutt-i で使うためには、下記の行を
~/mutt.iroiro/.gnupgp.mutt
ファイルに追加する必要があります。
(訳注: くりかえしますが、最近の Mutt では、付属してくる pgp5.rc の方が適切です)
set pgp_default_version=pgp5
set pgp_key_version=default
set pgp_receive_version=default
set pgp_send_version=default
set pgp_sign_micalg=pgp-sha1
set pgp_v5=/usr/bin/pgp
set pgp_v5_pubring=~/.pgp/pubring.pkr
set pgp_v5_secring=~/.pgp/secring.skr
お分かりでしょうが、~/.pgp/pubring.pkr
と secring.pkr
というファイルが存在していなくてはなりません。PGP5 に関するさらなる情報は
man pgp5
というコマンドでどうぞ。
GnuPG を Mutt-i で使うには、下記の行を
~/mutt.iroiro/.gnupgp.mutt
ファイルに追加する必要があります。
(訳注: くりかえしますが、最近の Mutt では、付属してくる gpg.rc の方が適切です)
set pgp_default_version=gpg
set pgp_key_version=default
set pgp_receive_version=default
set pgp_send_version=default
set pgp_sign_micalg=pgp-sha1
set pgp_gpg=/usr/bin/gpg
set pgp_gpg_pubring=~/.gnupg/pubring.gpg
set pgp_gpg_secring=~/.gnupg/secring.gpg
ご存じのとおり、~/.gnupg/pubring.gpg
および secring.gpg
というファイルが存在していなければなりません。man gpg.gnupg
,
man gpgm
, man gpg
というコマンドで、さらに GnuPG の情報を
ご覧ください。
複数の PGP ソフトウェアを使いたいならば、前述の変数をいくつか修正する 必要があります。ただ実際には、無駄なバージョンの変数を消すだけです。
たとえば、もし GnuPG をデフォルトの署名道具として使うとすると、
GnuPG/PGP を使う Mutt のあらゆるメニューコマンドはこのプログラムを
署名、復号化、暗号化、検証、等々の動作に使用することになります。
そのようにするため、いったん
$pgp_default_version
という設定変数を
有効にしなくてはなりません。それで、こうしてください。
set pgp_default_version=gpg
さて、三種類すべてのプログラムを使うには
~/mutt.iroiro/.gnupgp.mutt
ファイルがこんな感じに
なっていればよいでしょう。
(訳注: この内容も最近の Mutt の設定変数とは異なっています。
新しい Mutt では gpg.rc, pgp2.rc, pgp5.rc, pgp6.rc 等の好みの内容を
混合すれば動くと思われます)
set pgp_default_version=gpg # デフォルトで使うバージョン
set pgp_key_version=default # デフォルトで使う鍵
# この場合は gnupg になります
set pgp_receive_version=default # 復号化のデフォルトのバージョン
set pgp_send_version=default # 最初の行で定義したデフォルト (gpg) になります
set pgp_gpg=/usr/bin/gpg # どこに GnuPG 実行ファイルがあるか
set pgp_gpg_pubring=~/.gnupg/pubring.gpg # GnuPG 用の公開鍵ファイル
set pgp_gpg_secring=~/.gnupg/secring.gpg # GnuPG 用の秘密鍵ファイル
set pgp_v2=/usr/bin/pgp # どこに PGP2 実行ファイルがあるか
set pgp_v2_pubring=~/.pgp/pubring.pgp # PGP2 用の公開鍵ファイル
set pgp_v2_secring=~/.pgp/secring.pgp # PGP2 用の秘密鍵ファイル
set pgp_v5=/usr/bin/pgp # どこに PGP5 実行ファイルがあるか
set pgp_v5_pubring=~/.pgp/pubring.pkr # PGP5 用の公開鍵ファイル
set pgp_v5_secring=~/.pgp/secring.skr # PGP5 用の秘密鍵ファイル