array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.openssl-pkcs7-decrypt.php', 1 => 'openssl_pkcs7_decrypt', ), 'up' => array ( 0 => 'ref.openssl.php', 1 => 'OpenSSL 関数', ), 'prev' => array ( 0 => 'function.openssl-pkcs12-read.php', 1 => 'openssl_pkcs12_read', ), 'next' => array ( 0 => 'function.openssl-pkcs7-encrypt.php', 1 => 'openssl_pkcs7_encrypt', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/openssl/functions/openssl-pkcs7-decrypt.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
openssl_pkcs7_decrypt — S/MIME 暗号化されたメッセージを復号する
$input_filename
,$output_filename
,$certificate
,$private_key
= null
input_filename
で指定したファイル中の S/MIME 暗号化されたメッセージを、
certificate
と private_key
で
指定した証明書とそれに関連付けられた秘密鍵を用いて復号します。
input_filename
output_filename
復号したメッセージは、output_filename
で指定したファイルに出力されます。
certificate
private_key
バージョン | 説明 |
---|---|
8.0.0 |
private_key は、
OpenSSLAsymmetricKey または
OpenSSLCertificate クラスのインスタンスを受け入れるようになりました。
これより前のバージョンでは、
OpenSSL key または OpenSSL X.509 CSR
型のリソースを受け入れていました。
|
例1 openssl_pkcs7_decrypt() の例
<?php
// $cert および $key にはあなたの個人証明書と秘密鍵が含まれており、
// あなたはS/MIMEメッセージの受信者であると仮定します。
$infilename = "encrypted.msg"; // 暗号化されたメッセージを含むファイル
$outfilename = "decrypted.msg"; // このファイルへの書き込み権限が必要
if (openssl_pkcs7_decrypt($infilename, $outfilename, $cert, $key)) {
echo "復号しました!";
} else {
echo "復号に失敗しました!";
}
?>