As of Feb 7, 2003.
Cygwin (あるいはMinGW)環境の GnuPG(PGP clone) は、 emacs の中のメールリーダー Mew から使おうとすると、passphrase の入力ができません。 これは、tty まわりが genuine UNIX 環境とは違うためです。
Mew と一緒に Cygwin/MinGW の GnuPG を使うには、 GnuPG のソースにパッチをあてて自分で make しましょう。
The method described in this page has been tested on the following environment:
- Mew2.2
- GnuPG 1.0.7-1 souce package provided by Cygwin setup system
- Gnu Emacs on Windows: "GNU Emacs 21.2.1 (i386-msvc-nt5.1.2600) of 2002-03-20 on buffy" (Note: It works independently without any help of Cygwin.)
- Cygwin 1.3.12-2
- Windows XP Home edition
ここで述べる方法は、上の環境に限らず幅広い状況で使えるものと思われます。 逆に、適用できない環境がありましたら、ぜひお知らせ下さい。 なお、GnuPG 1.2.1 については Other Solutions の節をご参照ください。
これで以下のようなファイルが揃っているはずである。
% cd /usr/src % ls gnupg-1.0.7-1.patch gnupg-1.0.7.tar.gz gnupg-1.0.7-1.sh gnupg-passphrase-cygwin.patch
% cd /usr/src % tar -xzvf gnupg-1.0.7.tar.gz % patch -p 0 < gnupg-1.0.7-1.patch % patch -p 0 < gnupg-passphrase-cygwin.patch
gnupg-1.0.7-1.sh (の prep などの命令)は使わないこと。
% cd gnupg-1.0.7 % ./scripts/autogen.sh % ./configure --prefix=/usr RANLIB=/usr/bin/ranlib
RANLIB の指定がないと、 ranlib の位置が正しく Makefile に反映されないことがあります。 --prefix の指定がないと /usr/local に install されてしまうはずですが、 その方が好みの人はそれでもかまわないでしょう。
% make % make check % make install % ls -l `which gpg` % gpg --version
Emacs を立ち上げて Mew を動かして署名を試み、 Passphrase の入力ができることを確かめましょう。 Passphrase の入力以外の問題は、このページでは解決できません。
飯田健介さんの GnuPG 1.2.1 用 patch のページを参照してください。
Windows GPG Agentを使えば、 これが passphrase を記憶して gpg に渡してくれるので、 Emacs での passphrase 入力で悩むことはなくなります。 この方法は、セキュリティをわずかに弱めることになる一方で、 GnuPGをコンパイルしなおす必要がないという魅力があります。 詳しくは、 mew-win32 mailing list の記事 [mew-win32 03732] を参照してください。