|
sylpheed-jp:653
From: okushima <okushima@xxxxxxxxxx> okushima です。自己レスって言うんですかこれ?。 「Win --> Linux での不正な署名」でのご報告第二段です。 複数の方々との gpg のやり取りで、以下の様なご意見を頂きました。 作田さんからです(Datula GnuPG プラグインの作者です)。m(__)m > sample.txt 中の PGP/MIME 署名メッセージで、PGP データのパケットを解 > 析してみると (gpg --list-packets <data-file>) > > | :signature packet: algo 17, keyid BA0BA0CC4062BDCE > | version 3, created 992412274, md5len 5, sigclass 01 > | digest algo 2, begin of digest e6 00 > > 一方 不正となる Datula での PGP/MIME 署名メッセージでのパケットは > (in <3b270566.5170%joker@xxxxxxxxxx>) > > | :signature packet: algo 17, keyid 2EE06D20FC9F895E > | version 3, created 992380627, md5len 5, sigclass 00 > | digest algo 2, begin of digest 40 79 > > version, sigclass, digest algo の検証に関わりそうなファクターがあり > ますが Datula / Sylpheed では「sigclass」が異なっています。 > > → Sylpheed は sigclass 01 (text message signature) を「決め打ち」 > して検証している可能性がありそうです。 > > そこで、このメッセージを > --armor --textmode --detach-sign オプションでの GnuPG で署名します。 > > ※ --textmode の署名だと LWSP CRLF があったら BAD signature になるん > ※ で LWSP CRLF ないようにしておきます。 これで、署名の検証が GOOD になりました。(okushima 談) > わざわざ (--textmode の) 限定をかけて検証を行っているように思います。 > # が、いかんせん GPGME の構造を知らないので憶測になっちゃいますが。 > > しかし、Datula, Becky!(2), EdMax だけでなくて、Mew も > > 「binary signature (非 text)」で署名データを生成 > > していますから、渡ってきたメッセージの PGP データに従って検証する方 > が better であると思います。 荒川さんからです(Becky2 GnuPG プラグインの作者です)。m(__)m > なるほどっ! (ポン) 謎が解けました。 > > gpg --list-packets で表示されている項目のうち「sigclass」ってのは rfc2440 > でいう Signature-Type のことで,00H ではバイナリドキュメントの署名,01H > では標準的テキストドキュメントの署名になります。 > > http://www.gnupg.org/rfc2440-ja.html#5.2 > > 分離署名なんだからバイナリだろう,とすっかり思いこんでいました。 > Sylpheed のソースコードを見ると,確かに署名時にテキストモードにしてますね。 > > rfc2015.c の pgp_sign 関数で > > gpgme_set_textmode (ctx, 1); > > という記述がありますので,コレを外せば何とかなりそうな感じです。ただし > この場合,検証時の動作に不安が残ります。というのも GPGME は Verify 時に > 元テキストを標準入力に食わせているので,上記の記述を外すと自分で署名し > た文書の検証がNGになる可能性もあります。まっ試してみれば一発ですけど。 > > 拙作のBkGnuPGは,Datulaのそれと違って,オプションの細かい設定ができない > ので,PGP/MIME署名はバイナリ署名Onlyです。すみません (^^;) > > 試してみれば分かりますが,テキストモードで分離署名を行ってもGnuPGでは行 > 末スペース等の問題はありません。OpenPGPに於いてはこのような Dash-Escaped > テキストはクリア署名の場合にのみ適用されます。(PGPはどうなんだろ?) > > http://www.gnupg.org/rfc2440-ja.html#7 > > でも... > > Mewなどの他のメールソフトもそうしてるというのもありますが,ユーザごとの > プラットフォームによる違いも考慮して,バイナリ署名にした方が安全なよう > な気がしますが,どうなんでしょうその辺。 現状では、Eudora Pro + PGP との署名検証が「正当な署名」となりますが、それ以外 の組合わせ(テストできた範囲)では、殆どが「不正な署名」となります。 因みに、rfc2015.c の gpgme_set_textmode (ctx, 1); (968行目) をコメントにして rpm を作って見ましたが、荒川さんの言う通り、自己署名が不正な署名となりました。 Sylpheed Personal? な私には、この辺が限界の様です。(_ _,)/~~ PS. Sylpheed-0.5.00 で解決出来ます様、山本大明神へ祈願を致しました。 届くかな?この願い。 (^_^)† (^_^)/~~ (^_^)† (^_^)/~~ (^_^)† (^_^)/~~ (^_^)† (^_^)/~~ -- ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 Mail To : <okushima@xxxxxxxxxx> GnuPG Key = 1353 37F5 0C70 B162 9C62 50CC 6C87 5790 3DC8 D4D2 ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8 615 2001-06-11 13:38 [okushima@xxxxxxxxxx ] Win --> Linux での不正な署名 -> 653 2001-06-15 09:44 ┗[okushima@xxxxxxxxxx ] 654 2001-06-15 11:04 ┗[yamamoto@xxxxxxxxxx ] 658 2001-06-15 16:29 ┗[okushima@xxxxxxxxxx ] |