(PHP 4 >= 4.0.6)
openssl_pkcs7_encrypt -- S/MIME メッセージを暗号化する
説明
bool
openssl_pkcs7_encrypt ( string infilename, string outfilename, mixed recipcerts, array headers [, long flags])
警告 |
この関数は、
実験的なステータスにあります。これは、この関数の
動作、関数名、ここで書かれていること全てがPHPの将来のバージョンで予告
なく変更される可能性があることを意味します。注意を喚起するとともに自分
のリスクでこの関数を使用して下さい。 |
openssl_pkcs7_encrypt() は、
infilename という名前のファイルの内容を
RC2 40ビット暗号により暗号化します。この内容は、
recipcerts で指定した意図する受信者によっ
てのみ読むことが可能です。recipcerts は、
X.509 証明書または X.509 証明書の配列です。
headers は、暗号化された後にデータの前に付
加されるヘッダの配列です。flags はオプショ
ンとして使用可能であり、エンコード処理を変更するために指定されま
す。PKCS7定数を参照下
さい。headers は、ヘッダ名をキーとする連想
配列または添字配列であり、各要素には、各ヘッダ行が一行ずつ含まれ
ています。
例 1openssl_pkcs7_encrypt() の例 // 暗号化するメッセージを nighthawk という名前の外部の秘密のエー
// ジェントに送信します。送信先の証明書をファイル nighthawk.pem に有し
// ています。
$data = <<<EOD
Nighthawk,
Top secret, for your eyes only!
The enemy is closing in! Meet me at the cafe at 8.30am
to collect your forged passport!
HQ
EOD;
// ファイルにメッセージを保存
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);
// メッセージを暗号化
if (openssl_pkcs7_encrypt("msg.txt", "enc.txt", "nighthawk.pem",
array("To" => "nighthawk@agent.com", // 連想配列の構文
"From: HQ <hq@cia.com>", // 添字配列の構文
"Subject" => "Eyes only")))
{
// メッセージを暗号化し、送信します!
exec(ini_get("sendmail_path") . " < enc.txt");
} |
|
注意
この関数は、PHP 4.0.6 で追加されました。