VeriSignの個人用電子証明書をメールで送信
ベリサインの個人証明書を買った。justsystemのshurikenを利用しているのでjustsystemから買った。 2500円。
で、これjustsystem製品専用って書いてあるんだけど、普通にsendmailから送って大丈夫かなと思ったら大丈夫でした。 ライセンスも複数のPCで使っていいと書いてあるので問題ないと思う。
これはPKCS12形式(なにそれ?)なんだけど、これをSMIMEで電子署名して送信する
Crypt::SMIMEってモジュールがあって日本の方が作ったもののようだけど、これPEM形式じゃないとだめらしい。 ぐぐったらPKCS12からPEMに変換する方法があったので( http://carosuke.seesaa.net/article/87706777.html )
PEMにしてからCrypt::SMIMEでごにょって、Email::Sendで送信。
use Crypt::SMIME; use Email::Send; use IO::All; my $plain = <<'EOF'; From: test@example.com To: test@example.com Subject: Crypt::SMIME test This is a test mail. Please ignore... EOF my $smime = Crypt::SMIME->new(); $smime->setPrivateKey( io('/home/oreore/mail.key.pem')->all, io('/home/oreore/mail.crt.pem')->all, ); my $message = $smime->sign($plain); my $sender = Email::Send->new({mailer => 'Sendmail'}); $sender->send($message);
利用したモジュール
http://search.cpan.org/~mikage/Crypt-SMIME-0.09/lib/SMIME/JA.pod
http://search.cpan.org/~rjbs/Email-Send-2.194/lib/Email/Send.pm
http://search.cpan.org/~ingy/IO-All-0.39/lib/IO/All.pod