use Crypt::SMIME; my $plain = <<'EOF'; From: alice@example.org To: bob@example.com Subject: Crypt::SMIME test This is a test mail. Please ignore... EOF my $smime = Crypt::SMIME->new(); $smime->setPrivateKey($privkey, $crt); # $smime->setPublicKey([$icacert]); # if need be. my $signed = $smime->sign($plain); print $signed;
my $smime = Crypt::SMIME->new();
XXXX
$smime->setPrivateKey($key, $crt); $smime->setPrivateKey($key, $crt, $password);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXX
XXXXXXXXXXXXX PEM XXXXXXXXXXXXXXXXXdieXXX
$smime->setPublicKey($crt); $smime->setPublicKey([$crt1, $crt2, ...]);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX
XXXXXXXXXXXXX PEM XXXXXXXXXXXXXXXXXdieXXX
$signed_mime = $smime->sign($raw_mime);
XXXXXXMIMEXXXXXXXXXXXXXXXXXXXXXXX
"Content-*", "MIME-*" XX "Subject" XXXXXXXX multipartXXXXXXXXXXXXX "Subject" XS/MIMEXXXXXXXXXXXXXX, multipartX XXXXXXXXXXXXXXXXXXXXXXXXXXX
$sign = $smime->signonly($prepared_mime);
XXXXXXXXX $sign XBASE64XXXXXXXXXXXX $prepared_mime XX, ``prepareSmimeMessage'' XXXXXXXXXX
($prepared_mime, $outer_header)
= $smime->prepareSmimeMessage($source_mime);
XXXXXXXXXXXXXXX $prepared_mime XXXXXXXXXXXMIMEXXXXXXXXX $outer_header XXS/MIMEXXXXXXXXXXXXXXX
$prepared_mime XXXX$source_mimeXXXXXXXXX XXXXXXXX"Content-*", "MIME-*", "Subject" XXXXXX XXXXXXXXXXXXXXXXX $outer_header XXXXXX S/MIMEXXXXXXXXXXXXXXXXS/MIMEXXXXXXXXXXXXXXX "Subject" XXXXXX $prepared_mime X $outer_header XXXX XXXXXXXX
$source_mime = $smime->check($signed_mime);
XXXXXXXXXXXXXXXXXXXXXXXdieXXX
$encrypted_mime = $smime->encrypt($raw_mime);
XXXXXXX
"Content-*", "MIME-*" XX "Subject" XXXXXXXX multipartXXXXXXXXXXXXXXX "Subject" XS/MIMEXXXXXXXXXXXXXX, multipartX XXXXXXXXXXXXXXXXXXXXXXXXXXX
$decrypted_mime = $smime->decrypt($encrypted_mime);
XXXXXXXXXXXXXXXXXXXXXXXXXdieXXX
$is_signed = $smime->isSigned($mime);
XXXXMIMEXXXXXXS/MIMEXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX
$is_encrypted = $smime->isEncrypted($mime);
XXXXMIMEXXXXXXS/MIMEXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXX
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself
Bug reports and comments to: tl@tripletail.jp