GnuPG を使った暗号化メッセイジのやりとりのために必要な設定について
概説しましょう。ただ、
/usr/share/config-sample/mutt/dot.mutt.gpg
を見れば大体の内容はわかると思います。
もし自分の鍵を持っていなければ、まず生成します。
$ gpg --gen-key
で質問に答えていくだけです。
鍵の ID を覚えておきましょう。
そして、できれば ID ではなくフィンガープリント (指紋) を
muttrc
中の pgp_sign_as
に指定しましょう。
公開鍵は鍵サーバに登録しておくと便利です。
$ gpg --send-keys 0xDEADBEEF
のようにして、自分の ID またはフィンガープリントを指定して登録しておきます。
署名してあるメッセイジを受け取った場合には、鍵サーバから
その人の公開鍵を取得してメッセイジを検証できます。
muttrc
の pgp_getkeys_command
は設定しないでおくのが良いでしょう。
自動取得したい場合には GnuPG を使うことをお勧めします。
~/.gnupg/gpg.conf
の中に
keyserver-options auto-key-retrieve
という記述があれば、自動で鍵サーバから取得してくれます。
また、まだあまり安定していませんが、newpg パケジに含まれる
gpg-agent を使うと
パスワードを何度も入力する必要がなくなります。
Mutt もパスワードを覚えてくれるのですが、
quit すると当然忘れてしまいます。
こうした点で、gpg-agent が便利だと思う人もいるはずです。
gpg-agent を使うには、
例えば ~/.xinit.d/hook
で
eval `gpg-agent --daemon`
としておきます。すると X の同一セッションの間は
gpg-agent が有効になるので、
あらゆるアプリケイションからの GnuPG パスワード入力が
統一して管理されます。GnuPG が gpg-agent
を使うよう、~/.gnupg/gpg.conf
に
use-agent
と書いておきましょう。
![]() |
メモ |
---|---|
ただ、依然として Mutt もパスワードを尋ねてきますので、ちと面倒です。 pinentry にだけ答えればいいので、 Mutt の方はリターンだけ押すなどしてシノギましょう。 mutt-dev で問題提起されたので、そのうち 設定で Mutt への入力を回避できるようになるはずです。 |
あとはどういう場合に署名したり暗号化したりするか[16]の設定などです。
/usr/share/config-sample/mutt/dot.mutt.gpg
や
/usr/share/doc/mutt-*/manual.txt
などを参照して、
好みに合わせて設定しましょう。
slrnface パッチの当たっている Mutt は、
~/.muttrc
で
set xface=yes
と設定してあると X-Face: ヘッダを解釈して X 端末上で表示してくれますが、 自分が送信するメイルに X-Face を付けるのには、ちょっとしたコツがあります。
まず 48x48 の白黒画像 (階調なし、正真正銘の白黒) を用意します。これを
$convert
$face.jpg
face
.xbmxbm2ikon <
$face
.xbm >face.ikon
compface
face.ikon
face.data
とすると、生データの X-Face ができます。
しかし、~/.muttrc
に
my_hdr X-Face: `cat face.data`
と書いても、まずうまくいきません。これは X-Face が BASE64 等と違い、 「`」でもなんでも使ってしまうためです。また、改行や空白も邪魔です。そこで、
$ cat face.data
| tr -d ' \n' | sed -e 's/\([^0-9a-zA-Z]\)/\\\1/g' > face.mutt
というように加工してやってから、そちら
(ここでは face.mutt
) を使用します。
もちろん、
my_hdr X-Face: `cat face.data | tr -d ' \n' | sed -e 's/\([^0-9a-zA-Z]\)/\\\1/g'`
でも良いはずです。
この節の大部分は日本語 Mutt の長老であられる菊谷 (poo) 師からの投稿に 基づいております。
html オンリーのメイルが来ると、default 設定の Mutt は
冷たく「サポートしてないよ」と言って表示もしてくれないので
[17]、
次の設定をします。
まず ~/.mailcap
に
text/html; w3m -dump %s ; nametemplate=%s.html ; copiousoutput # 参考までに、ちょっと違うオプションで UTF-8 表示する例 # text/html; w3m-m17n -dump -I %{charset} -O UTF-8 -T text/html ; copiousoutput
と書いておきます。そして ~/.muttrc
には
# mailcap の検索順序を変えたければここを調整する # (Mutt 専用の mailcap を ~/.mutt 以下に置きたいときなど) # mailcap_path="~/.mutt/mailcap:~/.mailcap:/etc/mailcap" # 明示したものを自動表示 auto_view text/html # copiousoutput ならなんでも自動表示する場合 # set implicit_autoview=yes
を書いておきます。 これで text/html が pager で読めるようになるはずです。
![]() |
メモ |
---|---|
|
この節も、菊谷師からの投稿を少し編集したものです。
特定の宛先[19]にだけ 特定の From で出したいときは、send-hook を使います。 次の例は、普段 real というアドレスを使い、 Momonga のリストにだけ lists というアドレスで送る設定です。
# デフォルト send-hook . 'my_hdr From: "Real Name" real@exact.server' send-hook . 'unmy_hdr Sender:' # {To,Cc}: *.{ja,en}@momonga-linux.org にのみ適用 send-hook '~C"\.(ja|en)@momonga-linux\.org"' 'my_hdr From: "A. N. Other" <lists@host.domain>' send-hook '~C"\.(ja|en)@momonga-linux\.org"' 'my_hdr Sender: real@exact.server' # 複数のアドレスを自分のアドレスとみなす set alternates="(^real@exact\.server$|^lists@host\.domain$)"
![]() |
メモ |
---|---|
Sender を付けないと単なる From の詐称になってしまい、よろしくありません。 |
![]() |
メモ |
---|---|
|