SquirrelMailのGnuPGプラグイン
Category : サーバ管理日記
Published by M-naka on 2006/11/18
不親切では……?
 電子署名と暗号化のためのプラグイン。

 で、これ、環境によっては、デフォルト設定でWebインターフェースからのキー生成ができない。生成しようとするとこんなエラーが出る。

 This field may only contain an eMail address.

 「電子メールアドレスしか入力できません」? いやフツーに入れとろうが。入力データのフォーマットチェックで引っ掛かっているっぽい。

 で、調べてみると、やっぱりフォーマットチェックが原因。

 ウチのメールアドレスフォーマットはユーザー名@ドメイン、例えば support@mythril.ne.jp だが、GnuPGプラグインの初期値は user@domain.tld 形式しか受け付けない。要はgTLD、もしくは汎用jpドメインのようなccTLDで、ドメインそのものがメールホストの場合しかダメってこと。

 これは/usr/share/squirrelmail/plugins/gpg/js/formValidation.js(CentOS4.4の場合)の769行付近の

 var user = objFoundArray[1];
 var domain = objFoundArray[2];


の記述に依存しており、var userが@より前の文字列の個数、var domainが@より後の文字列の個数を表す(ドットがデリミタ)。これが初期値となっているために user@domain.tld 形式しか受け付けないから、ウチの形式、user@mythril.ne.jp に対応するには@より後ろに文字列が3つ入力できればよいので、

 var user = objFoundArray[1];
 var domain = objFoundArray
[3];

とすればよい。これでキーの生成が可能になる。

 しかしここ、環境によって調整が必要なのに、READMEとかに記述がないんだよなー。いいのかなー。