PHP マニュアル
前のページ |  | 次のページ

# openssl_pkcs7_encrypt

(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 で追加されました。

前のページ | ホーム | 次のページ
openssl_pkcs7_decrypt | 上に戻る | openssl_pkcs7_sign