openssl_pkcs7_encrypt S/MIME メッセージを暗号化する &reftitle.description; boolopenssl_pkcs7_encrypt stringinput_filename stringoutput_filename OpenSSLCertificatearraystringcertificate arraynullheaders intflags0 intcipher_algoOPENSSL_CIPHER_AES_128_CBC openssl_pkcs7_encrypt は、 input_filename という名前のファイルの内容を RC2 40 ビット暗号により暗号化します。この内容は、 certificate で指定した意図する受信者によってのみ読むことが可能です。 &reftitle.parameters; input_filename output_filename certificate X.509 証明書または X.509 証明書の配列。 headers headers は、 暗号化された後にデータの前に付加されるヘッダの配列です。 headers はヘッダ名をキーとする連想配列または添字配列であり、 各要素には、各ヘッダ行が一行ずつ含まれています。 flags flags は オプションとして使用可能であり、エンコード処理を変更するために指定します。 PKCS7 定数 を参照ください。 cipher_algo 暗号定数のうちの一つ。 &reftitle.returnvalues; &return.success; &reftitle.changelog; &Version; &Description; 8.1.0 デフォルトの暗号化アルゴリズム (cipher_algo) が、 AES-128-CBC (OPENSSL_CIPHER_AES_128_CBC) になりました。 これより前のバージョンでは、 PKCS7/CMS (OPENSSL_CIPHER_RC2_40) が使われていました。 8.0.0 certificate は、 OpenSSLCertificate クラスのインスタンスを受け入れるようになりました。 これより前のバージョンでは、 OpenSSL X.509 CSR 型のリソースを受け入れていました。 &reftitle.examples; <function>openssl_pkcs7_encrypt</function> の例 "nighthawk@example.com", // 連想配列の構文 "From: HQ ", // 添字配列の構文 "Subject" => "Eyes only"))) { // メッセージを暗号化し、送信します! exec(ini_get("sendmail_path") . " < enc.txt"); } ?> ]]>