From Makoto.Nakagawa @ hp.com Thu Mar 10 22:20:24 2005 From: Makoto.Nakagawa @ hp.com (=?ISO-2022-JP?B?GyRCQ2ZAbhsoQiAbJEJAPxsoQg==?=) Date: Thu, 10 Mar 2005 22:20:24 +0900 Subject: smime.el Message-ID: <5973-Thu10Mar2005222024+0900-nakagawa@manakagawa-debian2.asiapacific.hpqcorp.net> 中川@日本HP(株)です。 smime.el を使ってみようと試行錯誤を始めています。まず署名の検証から始め たのですが、最初から躓いています。 smime.el は署名の検証の際に smime というプログラムを前提としているのです が、この smime というプログラムは現在入手は可能でしょうか。あるいはもっ と新しい版の smime.el がどこかで入手可能でしょうか。 smime.el は semi 1.14.6 に附属のものを使用しています。 -- /*** Hewlett-Packard Japan, Ltd. ***/ /*** Manufacturing Accounts #3 Practice ***/ /*** Consulting & Integration ***/ /*** Nakagawa, Makoto(中川 誠) ***/ /*** PGP: 0B33 EAC3 F2F6 3D10 D9E9 AE7F 8EDA 44F9 1D29 D44A ***/ -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: 無し 型: application/pgp-signature サイズ: 248 バイト 説明: 無し URL: From yamaoka @ jpl.org Fri Mar 11 08:08:10 2005 From: yamaoka @ jpl.org (Katsumi Yamaoka) Date: Fri, 11 Mar 2005 08:08:10 +0900 Subject: smime.el References: <5973-Thu10Mar2005222024+0900-nakagawa@manakagawa-debian2.asiapacific.hpqcorp.net> Message-ID: >>>>> In [emacs-mime-ja : No.01961] 中川誠さん wrote: > smime.el は署名の検証の際に smime というプログラムを前提としているのです > が、この smime というプログラムは現在入手は可能でしょうか。 SMIME はまったく使ったことが無いのですが、smime という名前で openssl へのリンクを張れば、それが smime コマンドになります。 あるいは、 smime options... の代わりに openssl smime options... としても動作するはずです。 > あるいはもっと新しい版の smime.el がどこかで入手可能でしょうか。 単に新しいということでは、開発版の Gnus [1] に付属しているものの 最終更新日が 2005-02-22 です。SEMI 版との互換性は知りませんが、 関係者の顔ぶれを見るに、Gnus で使うのであれば、かなりまともに使 えそうな気がします。なお、こちらは openssl smime options... の形 式を使っています。 [1] /anonymous @ ftp.gnus.org:/pub/gnus/snapshots/gnus-CURRENT-2005****.tar.gz From Makoto.Nakagawa @ hp.com Fri Mar 11 15:02:25 2005 From: Makoto.Nakagawa @ hp.com (=?ISO-2022-JP?B?GyRCQ2ZAbhsoQiAbJEJAPxsoQg==?=) Date: Fri, 11 Mar 2005 15:02:25 +0900 Subject: smime.el In-Reply-To: Katsumi Yamaoka's message of "Fri, 11 Mar 2005 08:08:10 +0900" References: <5973-Thu10Mar2005222024+0900-nakagawa@manakagawa-debian2.asiapacific.hpqcorp.net> Message-ID: <1191-Fri11Mar2005150225+0900-nakagawa@manakagawa-debian2.asiapacific.hpqcorp.net> 中川@日本HP(株)です。 In message "Re: smime.el" on 05/03/11, Katsumi Yamaoka wrote: >> smime.el は署名の検証の際に smime というプログラムを前提としているのです >> が、この smime というプログラムは現在入手は可能でしょうか。 > SMIME はまったく使ったことが無いのですが、smime という名前で > openssl へのリンクを張れば、それが smime コマンドになります。 > あるいは、 おお、知りませんでした。ただ、smime.el/SEMI が前提としている smime とは 動作が違ってしまっているようです。コマンドの引数から全く変ってしまってい ます。 >> あるいはもっと新しい版の smime.el がどこかで入手可能でしょうか。 > 単に新しいということでは、開発版の Gnus [1] に付属しているものの > 最終更新日が 2005-02-22 です。SEMI 版との互換性は知りませんが、 Gnus の smime.el も参考にしようと眺めてはいます。SEMI/smime.el との互換 性は期待できないように見えます。 > 関係者の顔ぶれを見るに、Gnus で使うのであれば、かなりまともに使 > えそうな気がします。なお、こちらは openssl smime options... の形 > 式を使っています。 署名を付ける部分の処理をぱっと見たところでは、openssl smime の出力をそも まま利用しているので、メッセージの本文を jis 以外にした時には問題になり そうな気がします。 どのたかこの辺りの事情に詳しい方はいらっしゃらないでしょうか。 -- /*** Hewlett-Packard Japan, Ltd. ***/ /*** Manufacturing Accounts #3 Practice ***/ /*** Consulting & Integration ***/ /*** Nakagawa, Makoto(中川 誠) ***/ /*** PGP: 0B33 EAC3 F2F6 3D10 D9E9 AE7F 8EDA 44F9 1D29 D44A ***/ -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: 無し 型: application/pgp-signature サイズ: 232 バイト 説明: 無し URL: From Makoto.Nakagawa @ hp.com Fri Mar 18 17:22:52 2005 From: Makoto.Nakagawa @ hp.com (=?ISO-2022-JP?B?GyRCQ2ZAbhsoQiAbJEJAPxsoQg==?=) Date: Fri, 18 Mar 2005 17:22:52 +0900 Subject: mime-verify-application/pkcs7-signature Message-ID: <1191-Fri18Mar2005172252+0900-nakagawa@manakagawa-debian2.asiapacific.hpqcorp.net> 中川@日本HP(株)です。 mime-pgp.el の mime-verify-application/pkcs7-signature について質問させ てください。 この関数では署名の中身を書き出す際に mime-write-entity を使用しています。 これは RFC で要求された動作なのでしょうか。RFC を読み込まないままの質問 で申し分けないです。 プログラムの動作かから類推する限りでは mime-write-entity-content を使用 すべきかと思ったのですが。例えば、mime-verify-application/pgp-signature では mime-write-entity-content が使用されています。 -- /*** Hewlett-Packard Japan, Ltd. ***/ /*** Manufacturing Accounts #3 Practice ***/ /*** Consulting & Integration ***/ /*** Nakagawa, Makoto(中川 誠) ***/ /*** PGP: 0B33 EAC3 F2F6 3D10 D9E9 AE7F 8EDA 44F9 1D29 D44A ***/ -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: 無し 型: application/pgp-signature サイズ: 189 バイト 説明: 無し URL: From ueno @ unixuser.org Fri Mar 18 18:21:17 2005 From: ueno @ unixuser.org (Daiki Ueno) Date: Fri, 18 Mar 2005 18:21:17 +0900 Subject: smime.el In-Reply-To: <1191-Fri11Mar2005150225+0900-nakagawa@manakagawa-debian2.asiapacific.hpqcorp.net> (=?ISO-2022-JP?B?GyRCQ2ZAbhsoQiAbJEJAPxsoQidz?= message of "Fri, 11 Mar 2005 15:02:25 +0900") References: <5973-Thu10Mar2005222024+0900-nakagawa@manakagawa-debian2.asiapacific.hpqcorp.net> <1191-Fri11Mar2005150225+0900-nakagawa@manakagawa-debian2.asiapacific.hpqcorp.net> Message-ID: 中川様、皆様: 上野です。 >>>>> In [emacs-mime-ja : No.01963] >>>>> Makoto.Nakagawa @ hp.com (中川 誠) wrote: > >> smime.el は署名の検証の際に smime というプログラムを前提としているのです > >> が、この smime というプログラムは現在入手は可能でしょうか。 > > SMIME はまったく使ったことが無いのですが、smime という名前で > > openssl へのリンクを張れば、それが smime コマンドになります。 > > あるいは、 > おお、知りませんでした。ただ、smime.el/SEMI が前提としている smime とは > 動作が違ってしまっているようです。コマンドの引数から全く変ってしまってい > ます。 混乱させて申し訳ありません。 SEMI の S/MIME 対応は obsolete です。 http://lc.linux.or.jp/lc2002/papers/ueno0920p.pdf (p.19) また、SEMI の smime.el で使われている "smime" プログラムは OpenSSL のも のではありません。物自体は以下の URL にあります。 http://www.symlabs.com/Offerings/Net_SSLeay/smime.html > Gnus の smime.el も参考にしようと眺めてはいます。SEMI/smime.el との互換 > 性は期待できないように見えます。 > > 関係者の顔ぶれを見るに、Gnus で使うのであれば、かなりまともに使 > > えそうな気がします。なお、こちらは openssl smime options... の形 > > 式を使っています。 > 署名を付ける部分の処理をぱっと見たところでは、openssl smime の出力をそも > まま利用しているので、メッセージの本文を jis 以外にした時には問題になり > そうな気がします。 ここまで調べて頂いただけでも大変恐縮なのですが、せっかくなので Gnus の smime.el を利用するように改造してみませんか? ^^;;; -- Daiki Ueno From nakagawa @ manakagawa-debian2.asiapacific.hpqcorp.net Fri Mar 18 19:13:48 2005 From: nakagawa @ manakagawa-debian2.asiapacific.hpqcorp.net (=?ISO-2022-JP?B?GyRCQ2ZAbhsoQiAbJEJAPxsoQg==?=) Date: Fri, 18 Mar 2005 19:13:48 +0900 Subject: smime.el In-Reply-To: Daiki Ueno's message of "Fri, 18 Mar 2005 18:21:17 +0900" References: <5973-Thu10Mar2005222024+0900-nakagawa@manakagawa-debian2.asiapacific.hpqcorp.net> <1191-Fri11Mar2005150225+0900-nakagawa@manakagawa-debian2.asiapacific.hpqcorp.net> Message-ID: <4179-Fri18Mar2005191348+0900-nakagawa@manakagawa-debian2.asiapacific.hpqcorp.net> 中川@日本HP(株)です。 In message "Re: smime.el" on 05/03/18, Daiki Ueno wrote: > SEMI の S/MIME 対応は obsolete です。 > http://lc.linux.or.jp/lc2002/papers/ueno0920p.pdf (p.19) そうなのですか。上記のドキュメントは昔に読ませていただいたのですが、 obsolete と書いてることに少しも気が付いていませんでした。 > ここまで調べて頂いただけでも大変恐縮なのですが、せっかくなので Gnus の > smime.el を利用するように改造してみませんか? ^^;;; なるほど。上野さんがおっしゃるのであれば、Gnus の smime.el を使うのが本 筋のようですね。 ある程度までは私でもできそうな気がしているので、挑戦してみます。 ただ、Gnus に依存してしまうのは cmail ユーザとしてはちょっと癪ですね。 -- /*** Hewlett-Packard Japan, Ltd. ***/ /*** Manufacturing Accounts #3 Practice ***/ /*** Consulting & Integration ***/ /*** Nakagawa, Makoto(中川 誠) ***/ /*** PGP: 0B33 EAC3 F2F6 3D10 D9E9 AE7F 8EDA 44F9 1D29 D44A ***/ -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: 無し 型: application/pgp-signature サイズ: 189 バイト 説明: 無し URL: From Makoto.Nakagawa @ hp.com Wed Mar 23 15:46:09 2005 From: Makoto.Nakagawa @ hp.com (=?ISO-2022-JP?B?GyRCQ2ZAbhsoQiAbJEJAPxsoQg==?=) Date: Wed, 23 Mar 2005 15:46:09 +0900 Subject: pgg-scheme-sign-region =?ISO-2022-JP?B?GyRCJEskRCQkGyhC?= =?ISO-2022-JP?B?GyRCJEYbKEI=?= Message-ID: <3716-Wed23Mar2005154609+0900-nakagawa@manakagawa-debian2.asiapacific.hpqcorp.net> 中川@日本HP(株)です。 smime.el を改造するという野望を実現すべく、pgg 関係の処理を改めて追いか けています。 pgg-scheme-sign-region について疑問がありますので、確認させてください。 pgg-gpg では署名対象の領域の行末を CRLF に変換してから、 binary-to-text-funcall を使って gpg コマンドを呼び出しています。 pgg-{pgp,pgp5} では署名対象の領域 binary-func で pgp コマンドを呼び出し た後で、出力結果の行末について LF に変換しています。smime も同様の処理と なっています。 行末の正規化という意味では pgg-gpg の方式が正しいように思われるのですが、 何故 pgg-pgp などは現在の実装方法になっているのでしょうか。 これが原因かどうかは分っていませんが、pgp で証明をおこなったメールについ て gpg で検証をおこなうと、bad signature となってしまいます。 -- /*** Hewlett-Packard Japan, Ltd. ***/ /*** Manufacturing Accounts #3 Practice ***/ /*** Consulting & Integration ***/ /*** Nakagawa, Makoto(中川 誠) ***/ /*** PGP: 0B33 EAC3 F2F6 3D10 D9E9 AE7F 8EDA 44F9 1D29 D44A ***/ -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: 無し 型: application/pgp-signature サイズ: 286 バイト 説明: 無し URL: From ueno @ unixuser.org Sat Mar 26 08:58:35 2005 From: ueno @ unixuser.org (Daiki Ueno) Date: Sat, 26 Mar 2005 08:58:35 +0900 Subject: pgg-scheme-sign-region =?ISO-2022-JP?B?GyRCJEsbKEI=?= =?ISO-2022-JP?B?GyRCJEQkJCRGGyhC?= In-Reply-To: <3716-Wed23Mar2005154609+0900-nakagawa@manakagawa-debian2.asiapacific.hpqcorp.net> (=?ISO-2022-JP?B?GyRCQ2ZAbhsoQiAbJEJAPxsoQidz?= message of "Wed, 23 Mar 2005 15:46:09 +0900") References: <3716-Wed23Mar2005154609+0900-nakagawa@manakagawa-debian2.asiapacific.hpqcorp.net> Message-ID: <0efa1d8c-a267-43df-a8c3-6942a7f62308@well-done.deisui.org> 中川様、皆様: 上野です。 >>>>> In [emacs-mime-ja : No.01968] >>>>> Makoto.Nakagawa @ hp.com (中川 誠) wrote: > smime.el を改造するという野望を実現すべく、pgg 関係の処理を改めて追いか > けています。 > pgg-scheme-sign-region について疑問がありますので、確認させてください。 > pgg-gpg では署名対象の領域の行末を CRLF に変換してから、 > binary-to-text-funcall を使って gpg コマンドを呼び出しています。 > pgg-{pgp,pgp5} では署名対象の領域 binary-func で pgp コマンドを呼び出し > た後で、出力結果の行末について LF に変換しています。smime も同様の処理と > なっています。 > 行末の正規化という意味では pgg-gpg の方式が正しいように思われるのですが、 > 何故 pgg-pgp などは現在の実装方法になっているのでしょうか。 > これが原因かどうかは分っていませんが、pgp で証明をおこなったメールについ > て gpg で検証をおこなうと、bad signature となってしまいます。 pgg-{pgp,pgp5} のバグだと思います。 昔の PGP には行末正規化の機能があったので、開発の経緯で「なんとなく動作 してしまった」のではないでしょうか。 P.S. GnuPG 2 には gpg コマンドの S/MIME 対応版 gpgsm が含まれるようなので、将 来を考えても pgg-gpg に合わせるのが良いかと思います。 -- Daiki Ueno From Makoto.Nakagawa @ hp.com Tue Mar 29 19:48:52 2005 From: Makoto.Nakagawa @ hp.com (=?ISO-2022-JP?B?GyRCQ2ZAbhsoQiAbJEJAPxsoQg==?=) Date: Tue, 29 Mar 2005 19:48:52 +0900 Subject: pgg-scheme-sign-region =?ISO-2022-JP?B?GyRCJEsbKEI=?= =?ISO-2022-JP?B?GyRCJEQkJCRGGyhC?= In-Reply-To: Daiki Ueno's message of "Sat, 26 Mar 2005 08:58:35 +0900" <0efa1d8c-a267-43df-a8c3-6942a7f62308@well-done.deisui.org> References: <3716-Wed23Mar2005154609+0900-nakagawa@manakagawa-debian2.asiapacific.hpqcorp.net> <0efa1d8c-a267-43df-a8c3-6942a7f62308@well-done.deisui.org> Message-ID: <631-Tue29Mar2005194852+0900-nakagawa@manakagawa-debian2.asiapacific.hpqcorp.net> 中川@日本HP(株)です。 In message "Re: pgg-scheme-sign-region について" on 05/03/26, Daiki Ueno wrote: >> pgg-gpg では署名対象の領域の行末を CRLF に変換してから、 >> binary-to-text-funcall を使って gpg コマンドを呼び出しています。 >> pgg-{pgp,pgp5} では署名対象の領域 binary-func で pgp コマンドを呼び出し >> た後で、出力結果の行末について LF に変換しています。smime も同様の処理と >> なっています。 >> 行末の正規化という意味では pgg-gpg の方式が正しいように思われるのですが、 >> 何故 pgg-pgp などは現在の実装方法になっているのでしょうか。 >> これが原因かどうかは分っていませんが、pgp で証明をおこなったメールについ >> て gpg で検証をおこなうと、bad signature となってしまいます。 > pgg-{pgp,pgp5} のバグだと思います。 > 昔の PGP には行末正規化の機能があったので、開発の経緯で「なんとなく動作 > してしまった」のではないでしょうか。 なるほど。今(?)の PGP にも行末正規化の機能は存在しているように思えます。 手許の環境で試した限りでは、以下のことが確認できました。 利用したのは以下のバージョンです。 $ pgp -v Pretty Good Privacy(tm) 2.6.3ia - Public-key encryption for the masses. (c) 1990-96 Philip Zimmermann, Phil's Pretty Good Software. 1996-03-04 Current time: 2005/03/29 10:48 GMT Invalid arguments. For a usage summary, type: pgp -h For more detailed help, consult the PGP User's Guide. $ gpg --version gpg (GnuPG) 1.2.5 Copyright (C) 2004 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. Home: ~/.gnupg Supported algorithms: Pubkey: RSA, RSA-E, RSA-S, ELG-E, DSA, ELG Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH Hash: MD5, SHA1, RIPEMD160, SHA256 Compression: Uncompressed, ZIP, ZLIB, BZIP2 pgp -t で分離署名を実施した場合、署名対象のファイルの行末を CRLF <-> LF に変更したとしても、検証には成功します。ところが -t を付けないと、署名対 象のファイルの行末を変更した時点で、検証には失敗するようになります。 これは pgp での分離署名を gpg で検証する場合にもあてはまります。 ところが、pgg-pgp にて署名を実施した場合には、どうやっても pgg-gpg での 検証に成功しません。pgp/gpg のソースを追えば理由が判明するかもしれません が、そこまでは手が出ていません。 pgg-pgp.el について、pgp に行末の正規化をまかせないようにするためのパッ チを添付します。このパッチを適用後では、pgg-pgp で実施した署名を pgg-gpg で検証することができています。 また、パッチ適用後においても pgg-pgp で実施した署名を pgg-pgp で検証する ことができています。 -------------- next part -------------- --- /usr/share/emacs21/site-lisp/semi/pgg-pgp.el Thu Aug 12 00:12:56 2004 +++ ./pgg-pgp.el Tue Mar 29 19:14:06 2005 @@ -171,10 +171,11 @@ (format "PGP passphrase for %s: " pgg-pgp-user-id) (pgg-scheme-lookup-key scheme pgg-pgp-user-id 'sign))) (args - (list (if clearsign "-fast" "-fbast") + (list (if clearsign "-fast" "-fbas") "+verbose=1" "+language=us" "+batchmode" "-u" pgg-pgp-user-id))) - (pgg-pgp-process-region start end passphrase pgg-pgp-program args) + (pgg-as-lbt start end 'CRLF + (pgg-pgp-process-region start end passphrase pgg-pgp-program args)) (pgg-process-when-success (goto-char (point-min)) (when (re-search-forward "^-+BEGIN PGP" nil t);XXX -------------- next part -------------- -- /*** Hewlett-Packard Japan, Ltd. ***/ /*** Manufacturing Accounts #3 Practice ***/ /*** Consulting & Integration ***/ /*** Nakagawa, Makoto(中川 誠) ***/ /*** PGP: 0B33 EAC3 F2F6 3D10 D9E9 AE7F 8EDA 44F9 1D29 D44A ***/ -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: 無し 型: application/pgp-signature サイズ: 286 バイト 説明: 無し URL: