[Mew-dist 16178] Re: interface of mew-decode-multipart-signed-switch
Ryutaroh Matsumoto
ryutaroh at example.com
2001年 2月 6日 (火) 02:45:47 JST
早速のコメントありがとうございます。
From: NINOMIYA Hideyuki <nin at example.com>
Subject: [Mew-dist 16176] Re: interface of mew-decode-multipart-signed-switch
> 新しい機能を実装しようという時には最新のβ版をベースに作業されたほうが
> 良いと思いますよっ、1.94.2 で作業されてもそれが 1.94.x にとり入れられる
> 可能性はゼロですから、、、
アドバイス有難う御座います。そうかも知れないと思い最新版のソースにも目を
通して関連する部分がそれ程大きくは違わないことを確認しています。どのよう
に変更をすればいいかわかった段階で最新のMewに作業対象を移そうと思います。
> 松本> mew-smime-verifyみたいな関数を作って変数
> 松本> mew-decode-multipart-signed-switch
> 松本> に登録すればいいことは理解できたんですが、この変数に登録する
> 松本> 関数がどういう作業をすればいいのかソースコードを眺めていても
> 松本> いまいち良く分かりません。もしよかったらどなたか教えていただけ
> 松本> ないでしょうか?
>
> file1 と file2 の2つの引数を取りそれを使って verify を実行しその結果を
> バッファーに取り込んでその内容を解析して X-Mew: で表示するメッセージを
> 返すようになってるようです。
> file1 は署名被対象の body パートをセーブした tmp file のファイル名
> file2 は署名のパートをデコードしてセーブした tmp file のファイル名
> となってるようです。
私も同じように見えたので以下のように適当な文字列を返すだけの関数を定義し
たんですが、
(defun mew-smime-verify (file1 file2)
(message "PGP verifying ... ")
"Good S/MIME Signature")
(setq mew-decode-multipart-signed-switch (cons
'("application/x-pkcs7-signature" . mew-smime-verify)
mew-decode-multipart-encrypted-switch))
そうするとS/MIMEで署名されたメールの*Mew message*バッファがぐちゃぐちゃ
に文字化けします。その原因はbase64でencodeされたS/MIMEの署名がdecodeされ
て*Mew message*バッファの下の方にあるからです。そんなわけで上の関数はた
だ適当に文字列を返すだけではどうもだめっぽいです。
> mew-pgp.el の実装では
> (mew-pgp-verify file1 file2)でテンポラリバッファを用意してそこで
> file1 file2 を引数に渡して pgp をコールして最後に(mew-pgp-check)を
> 呼び出し、mew-pgp-check の中でテンポラリバッファの中を舐めて
> 返り値を作成してそれを返して終了。
私にもそう見えます。なぜそのときS/MIMEのように署名がバッファの中に見えな
いんだろう?次に作業時間を取れたときにバージョンを最新のもにに上げてみる
かな?
> openssl smime(手元の 0.95a の場合)では入力が MIME format なものじゃ
> ないといけませんから、file1 file2 から dummy の MIME メッセージの
> ファイルをでっち上げて file3 を作成しそれを openssl smime に食わせる
> のでしょうか ?
OpenSSL 0.96では
openssl smime -verify -inform DER -in file1 -content file2
とすれば行けそうに見えます。まだ確認できてないですけど。
S/MIMEの署名の検証をまじめにやるのは結構大変そうなので、取り合えず
opensslが署名の検証に成功したかどうかと、署名の中に入っているEメールアド
レスを「X-Mew」に表示することを目標にして、うまくできたら綺麗にしてパッ
チを流したいと思います。
--
松本 隆太郎
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: 無し
型: application/x-pkcs7-signature
サイズ: 1800 バイト
説明: attachment; filename="smime.p7s"
URL: <http://www.mew.org/pipermail/mew-dist/attachments/20010206/627e5929/attachment.bin>
Mew-dist メーリングリストの案内