openssl_pkcs7_encrypt
openssl_pkcs7_encrypt
Encrypt an S/MIME message
bool **openssl_pkcs7_encrypt** string $input_filename string $output_filename $certificate $headers int $flags int $cipher_algo
takes the contents of the
file named and encrypts them using an RC2
40-bit cipher so that they can only be read by the intended recipients
specified by .
openssl_pkcs7_encrypt``input_filename``certificate
input_filename
output_filename
certificateEither a lone X.509 certificate, or an array of X.509 certificates.
headers
is an array of headers that
will be prepended to the data after it has been encrypted.
headers
can be either an associative array
keyed by header name, or an indexed array, where each element contains
a single header line.
`headers`
flags
can be used to specify options that affect
the encoding process - see .
flagsPKCS7
constants
cipher_algo
One of .
cipher constants
return.success
Voorbeeld: example
<?php
// the message you want to encrypt and send to your secret agent
// in the field, known as nighthawk. You have his certificate
// in the file 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;
// load key
$key = file_get_contents("nighthawk.pem");
// save message to file
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);
// encrypt it
if (openssl_pkcs7_encrypt("msg.txt", "enc.txt", $key,
array("To" => "nighthawk@example.com", // keyed syntax
"From: HQ <hq@example.com>", // indexed syntax
"Subject" => "Eyes only"))) {
// message encrypted - send it!
exec(ini_get("sendmail_path") . " < enc.txt");
}
?>