Tuesday 28 June 2022

s/mime nmh 送信編

もう、すっかり忘れてて。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: