(便乗)送信時にマクロで PGP 署名つきメNo.10432
sgsano さん 02/12/24 19:57
 
sgsano です、こんにちは。

段落のインデント機能をずっと欲しいと思っていたので、実装されるのを楽しみ
にしています。

> 全てのマクロに影響があるわけでもないし、マクロで整形するような人なら
> 使いそうに無いオプションなのでそれなりに共存できるのかもしれませんね。

この部分にだけ反応して、便乗で質問します。

送信時の自動マクロ起動で、タブ文字を半角スペースに置き換える処理を行なっ
ているのですが、 PGP の署名つきメールの場合、何も考えずに実行してしまう
と署名が破壊されてしまうため、一応の判定処理を入れてあります。

MIME 形式でないものは、なんとか判定できているのですが、 MIME 形式の PGP
署名つきメールの場合どのように判定して良いかわかりません。識者の方で、巧
い方法をお持ちの方、御教授願えないでしょうか。

参考まで、以下に現在使用しているマクロを載せておきます:

// タブ文字列を半角空白文字に置換する送信時実行マクロ
// 問題点: MIME 形式で PGP の signature をつけている場合に、実行されて
しまう…
loaddll "tkinfo.dll";
if(!result){
        $s = dllfuncstr("AddHeader", "X-Autorun:", "[Err][T2S:000]
loaddll failed.");
        goto END;
}

gofiletop;
searchdown "BEGIN PGP.*MESSAGE" ,regular;
if(result){
        question "PGP メッセージの可能性があります。署名が破壊される可能
性があるため、タブ文字変換動作の中断を推奨します。\n中断しますか? ";
        if(result == yes){
                goto END;
        }
        $s = dllfuncstr("AddHeader", "X-Autorun:", "[Inf][T2S:020] Force
run--The PGP signature of this message may be counted as invalid.");
}

gofiletop;
beginsel;
gofileend;

tospace;
if(!result){
        $s = dllfuncstr("AddHeader", "X-Autorun:", "[Err][T2S:040]
tospace failed.");
        goto ERR;
}

escape;

goto END;

ERR:
        beep;
        goto END;

END:
        freedll;
        endmacro;



[ ]
RE:10432 (便乗)送信時にマクロで PGP No.10437
ひろ さん 02/12/25 13:05
 
 sgsano さん今日は、ひろです。
> 送信時の自動マクロ起動で、タブ文字を半角スペースに置き換える処理を行なっ
> ている
 これに関してですが、「エディタの設定」→「編集」の「送信/保存する時
にタブ文字を空白に変換する」を ON にしておけば、マクロで処理する必要
がないので、この辺り事を気にする必要がありません。何故なら実際の署名
作成の前に、タブ→空白、必要に応じて改行の挿入、を行うからです。

> MIME 形式の PGP
> 署名つきメールの場合どのように判定
 これは、
> X-Attach: 送信添付\021225_00\pgp_signature
> Content-Type: multipart/signed; micalg="pgp-sha1"
を見れば良いのでは? 因みに暗号化も同様です。

[ ]
RE:10437 (便乗)送信時にマクロで PGP No.10460
sgsano さん 02/12/26 19:52
 
sgsano です、こんにちは。

お返事ありがとうございます。

On Wed, 25 Dec 2002 13:05:53 +0900
ひろ wrote:
ref: <xxxxxxxxxxxxxx@maruo.co.jp>
> > 送信時の自動マクロ起動で、タブ文字を半角スペースに置き換える処理を行なっ
> > ている
>  これに関してですが、「エディタの設定」→「編集」の「送信/保存する時
> にタブ文字を空白に変換する」を ON にしておけば、マクロで処理する必要

このオプションには、全然気がつきませんでした。

> がないので、この辺り事を気にする必要がありません。何故なら実際の署名
> 作成の前に、タブ→空白、必要に応じて改行の挿入、を行うからです。

ですが、上記のようにはならないようです。 PGP 署名作成後に送信を行なう
(この時点で、タブ文字を空白に変換)ため、署名は破壊されてしまいます。

>
> > MIME 形式の PGP
> > 署名つきメールの場合どのように判定
>  これは、
> > X-Attach: 送信添付\021225_00\pgp_signature
> > Content-Type: multipart/signed; micalg="pgp-sha1"
> を見れば良いのでは? 因みに暗号化も同様です。

こちらも気がつきませんでした。添付ファイル名から調べるしかないのかなぁ、
とか考えていましたので。

お教えいただいた Content-Type の判定で、希望する動作を行なうことができま
した。ありがとうございます。

[ ]
RE:10460 (便乗)送信時にマクロで PGP No.10461
ひろ さん 02/12/27 00:20
 
 秀まるおさん、sgsano さん今日は、ひろです。
> 上記のようにはならないようです。 PGP 署名作成後に送信を行なう
> (この時点で、タブ文字を空白に変換)ため、署名は破壊されてしまいます。
 すいません。私のチェックが甘かったようです。
 確かに上手くいかないようです。

 電子署名する際は、内部的に整形、タブ→空白変換、「後で送信/今すぐ送
信」のマクロを実行後、JIS にエンコードして、そのあと書名を作成していた
だく必要がありそうです。→秀まるおさん

[ ]
RE:10461 (便乗)送信時にマクロで PGP No.10463
秀まるお2 さん 02/12/27 08:12
 
> 電子署名する際は、内部的に整形、タブ→空白変換、「後で送信/今すぐ送
>信」のマクロを実行後、JIS にエンコードして、そのあと書名を作成していた
>だく必要がありそうです。→秀まるおさん

 ということはバグのようです。修正します。

 (っと、その前に、例のタブ->空白変換のタイミングをいじるならいじるで、
それが先ですけど)

[ ]
RE:10463 (便乗)送信時にマクロで PGP No.10467
ひろ さん 02/12/27 14:21
 
 秀まるおさん今日は、ひろです。
>  ということはバグのようです。修正します。
 宜しくお願いします。

>  (っと、その前に、例のタブ->空白変換のタイミングをいじるならいじるで、
> それが先ですけど)
 私個人は先に書いたとおりで、
(1)インデントは、空白を除外する方法がある
(2)タブ→空白変換は実際の送信時
が良いですが、この時期皆さん年末年始モードで、それ程頻繁に呼んではい
ないでしょうし...。

[ ]