Crypt-SMIME
view release on metacpan or search on metacpan
lib/SMIME/JA.pod view on Meta::CPAN
ç½²åãè¡ããMIMEã¡ãã»ã¼ã¸ãè¿ããå¯è½ãªç½²åã¯ã¯ãªã¢ç½²åã®ã¿ã
C<Content-*>, C<MIME-*> åã³ C<Subject> ãé¤ãããããã¯
multipartã®ãããã¬ãã«ã«ç§»ãããã
C<Subject> ã¯S/MIMEãèªèã§ããªãã¡ã¼ã©ã®ããã«, multipartã®
ãããã¬ãã«ã¨ä¿è·ãããã¡ãã»ã¼ã¸ã®ä¸¡å´ã«é
ç½®ãããã
å
ã® MIME ã¡ãã»ã¼ã¸ãç§å¯éµãã¾ãã¯ãã®è¨¼ææ¸ã®ãããããæ±æããã¦ãã
(tainted) ãªãã°ãç½²åãããã¡ãã»ã¼ã¸ãæ±æãããã
=item signonly()
$sign = $smime->signonly($prepared_mime);
ç½²åã®è¨ç®ãè¡ãã
C<$sign> ã¯BASE64ã§ã¨ã³ã³ã¼ãããã¦è¿ãã
C<$prepared_mime> ã«ã¯, L</prepareSmimeMessage> ã§è¿ãããå¤ã渡ãã
å
ã® MIME ã¡ãã»ã¼ã¸ãç§å¯éµãã¾ãã¯ãã®è¨¼ææ¸ã®ãããããæ±æããã¦ãã
(tainted) ãªãã°ãçæãããç½²åãæ±æãããã
=item prepareSmimeMessage()
($prepared_mime, $outer_header)
= $smime->prepareSmimeMessage($source_mime);
ç½²åç¨ã®ã¡ãã»ã¼ã¸ãæºåããã
C<$prepared_mime> ã«ã¯ç½²åç¨ã«ä¿®æ£ãããMIMEã¡ãã»ã¼ã¸ãè¿ãã
C<$outer_header> ã¯ãS/MIMEã®å¤å´ã«ä»ä¸ããããããè¿ãã
C<$prepared_mime> ã®æ¬æã¯C<$source_mime>ã¨åãç©ã¨ãªããã
ãããã«é¢ãã¦ã¯C<Content-*>, C<MIME-*>, C<Subject> ãé¤ãå
¨ã¦ã
åãé¤ããããåãé¤ãããããã㯠C<$outer_header> ã«è¿ãããã
S/MIMEã¡ãã»ã¼ã¸ãæ§ç¯ããéã«ã¯ãããS/MIMEã¡ãã»ã¼ã¸ã®ãããã«è¿½å ããã
C<Subject> ãããã®ã¿ã¯ C<$prepared_mime> 㨠C<$outer_header> ã®ä¸¡æ¹ã«
ç¾ããç¹ã«æ³¨æã
=item check()
use Crypt::SMIME qw(:constants);
$source_mime = $smime->check($signed_mime);
$source_mime = $smime->check($signed_mime, $flags);
æ¤è¨¼ãè¡ããæ¤è¨¼ã«å¤±æããå ´åã¯ãã®çç±ã¨å
±ã«dieããã
C<$flags> ã¨ã㦠C<Crypt::SMIME::NO_CHECK_CERTIFICATE>
ãªãã·ã§ã³ãæå®ããå ´åã«ã¯ãç½²åè
ã®è¨¼ææ¸ãã§ã¼ã³ãæ¤è¨¼ããªãã
C<$flags> ã®ããã©ã«ãå¤ã¯ C<0>
ã§ããããã®å ´åã«ã¯å
¨ã¦ã®æ´åæ§ã«ã¤ãã¦ã®æ¤è¨¼ãè¡ãã
å
ã® S/MIME ã¡ãã»ã¼ã¸, C<$flags>, æ¤è¨¼æå» (L</setAtTime>), ã¾ãã¯
å
¬ééµã®å°ãªãã¨ãä¸ã¤ãæ±æããã¦ãã(tainted) ãªãã°ãæ¤è¨¼ãããã¡ãã»ã¼ã¸ãæ±æãããã
=item encrypt()
$encrypted_mime = $smime->encrypt($raw_mime);
$encrypted_mime = $smime->encrypt($raw_mime, $cipher);
æå·åãè¡ã. å©ç¨ãã¦ãã OpenSSL ã®çè§£ãããããªã©ã®ãã㪠C<$cipher>
ã§ãæå®ã§ãã. ããã©ã«ã㯠"AES-128-CBC" ã§ãã.
C<Content-*>, C<MIME-*> åã³ C<Subject> ãé¤ãããããã¯
multipartã®ãããã¬ãã«ã«ã³ãã¼ãããã
C<Subject> ã¯S/MIMEãèªèã§ããªãã¡ã¼ã©ã®ããã«, multipartã®
ãããã¬ãã«ã¨ä¿è·ãããã¡ãã»ã¼ã¸ã®ä¸¡å´ã«é
ç½®ãããã
å
ã® MIME ã¡ãã»ã¼ã¸ãã¾ãã¯å
¬ééµã®å°ãªãã¨ãä¸ã¤ãæ±æããã¦ãã
(tainted) ãªãã°ãæå·åãããã¡ãã»ã¼ã¸ãæ±æãããã
=item decrypt()
$decrypted_mime = $smime->decrypt($encrypted_mime);
復å·ãè¡ãã復å·ã«å¤±æããå ´åã¯ãã®çç±ã¨å
±ã«dieããã
å
ã® S/MIME ã¡ãã»ã¼ã¸ãç§å¯éµãã¾ãã¯ãã®è¨¼ææ¸ã®ãããããæ±æããã¦ãã
(tainted) ãªãã°ã復å·ãããã¡ãã»ã¼ã¸ãæ±æãããã
=item isSigned()
$is_signed = $smime->isSigned($mime);
渡ãããMIMEã¡ãã»ã¼ã¸ãS/MIMEã§ç½²åããããã®ãªãçãè¿ãã
ã¯ãªã¢ç½²åãã©ããã¯åããªãã
ç½²åå¾ã«æå·åããã¡ãã»ã¼ã¸ã渡ããå ´åã¯ãç½²åãç´æ¥è¦ããªãçºã
å½ãè¿ãäºã«æ³¨æã
=item isEncrypted()
$is_encrypted = $smime->isEncrypted($mime);
渡ãããMIMEã¡ãã»ã¼ã¸ãS/MIMEã§æå·åããããã®ãªãçãè¿ãã
æå·åå¾ã«ç½²åããã¡ãã»ã¼ã¸ã渡ããå ´åã¯ãæå·æãç´æ¥è¦ããªãçºã
å½ãè¿ãäºã«æ³¨æã
=back
=over
=item setAtTime()
$yesterday = time - (60*60*24);
$smime->setAtTime($yesterday);
æ¤è¨¼æã«ç¨ããæå»ãè¨å®ãããããã©ã«ãã¯ç¾å¨æå»ã
UNIX epoch å½¢å¼ã§ãªããã°ãªããªãã
=item setVerifyFlags()
$smime->setVerifyFlags(C<Crypt::SMIME::CRL_CHECK>);
æ¤è¨¼æã«ç¨ãããã©ã°ãè¨å®ãã.
C<Crypt::SMIME::CRL_CHECK> ç½²åè
ã®è¨¼ææ¸ã® CRL ãæ¤è¨¼ãã.
C<Crypt::SMIME::CRL_CHECK_ALL> è¨¼ææ¸ãã§ã¤ã³å
¨ä½ã® CRL ãæ¤è¨¼ãã.
å¿
è¦ãª CRL ãåå¨ããªãå ´åã¯æ¤è¨¼ã«å¤±æãã.
=back
=head1 颿°
( run in 0.579 second using v1.01-cache-2.11-cpan-e1769b4cff6 )