もう、すっかり忘れてて。gpgsm 動かないと思ったら、
GPG_TTY=$(tty)
export GPG_TTY=$TTY
しろとか書いてある。こうしないと、password 入力 pop up がでない。
もしかして、送信 script 自分で書くのかと思ったら、去年やっていたらしい。
しかし、動いてないっぽい。
edit sign
edit encode
とかしたら、signatureが二重に。gpgsm は encrypt 時に自動的に署名を付けるのか。
ところが、
actalis の鍵の期限が切れてる
証明書じゃないんだから、なんで切れるんだよ。まぁ、別にいいか。
自分で鍵を作れば期限は自由なわけだから。いや、自分で作るべきだよね
そこで、送信するわけですが、
gpgsm -d は CRLF
なに? しかも、一番最後には CRLFを付けない。わけわからん。でも、それを調整しないと署名が合わない。
これを取るのに。
open(IN,"gpgsm -d ".$tmpname.".p7m| sed 's/.\$//'|");
とかやってたんですが、どうも . が CR を消さなくなった。
open(IN,"gpgsm -d ".$tmpname.".p7m| sed 's/\\r\$//'|");
そういうことするからな。まぁ、でも動いたみたい。署名の検査は openssl の方が良いみたいですね。
openssl smime -verify -in `mhpath cur` -noverify -out mail_body.txt
gpgsm は自分で切り分けしてからだが、openssl は自分で切り分ける。偉い。
だた、送信する時に
暗号化する前のを取っておく
ってのは重要らしい。失敗すると読めなくなるから。
https://github.com/shinji-kono/smime-nmh
No comments:
Post a Comment