openssl_pkcs7_encrypt
(PHP 4 >= 4.0.6, PHP 5)
openssl_pkcs7_encrypt — Verschlüsseln einer S/MIME Nachricht
Beschreibung
$infile
, string $outfile
, mixed $recipcerts
, array $headers
[, int $flags
[, int $cipherid
]] )
openssl_pkcs7_encrypt() verschlüsselt den Inhalt der Datei
namens infile und verschlüsselt ihn unter Verwendung
eines RC2 40-Bit Schlüssels. Der Inhalt kann anschließend nur von den im Parameter
recipcerts angegebenen Empfängern gelesen werden.
Parameter-Liste
-
infile -
-
outfile -
-
recipcerts -
Entweder ein einzelnes X.509-Zertifikat oder ein Array solcher Zertifikate.
-
headers -
headersist ein Array von Headern die den Daten nach der Verschlüsselung vorangestellt werden.Bei
headerskann es sich entweder um ein assoziatives Array handeln, wobei der Key dem Header-Namen entspricht, oder um ein indiziertes Array, bei dem jedes Element einen einzelnen Header enthält. -
flags -
Mittels
flagskönnen Optionen angegeben werden die den Verschlüsselungsprozeß beeinflussen. Siehe PKCS7 Konstanten. -
cipherid -
Mittels
cipheridkann seit PHP5 der Schlüssel bestimmt werden.
Rückgabewerte
Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.
Changelog
| Version | Beschreibung |
|---|---|
| 5.0.0 |
Der Parameter cipherid wurde hinzugefügt.
|
Beispiele
Beispiel #1 openssl_pkcs7_encrypt() Beispiel
<?php
// die zu verschlüsselnde Nachricht, die Sie Ihrem als "Nighthawk" bekanntem
// Geheimagenten im Einsatz schicken wollen.
// Sein Zertifikat liegt in der Datei nighthawk.pem vor
$data = <<<EOD
Nighthawk,
Streng geheim!
Der Feind rückt näher. Treffen Sie mich im Cafè um 0830.
HQ
EOD;
// Schlüssel laden
$key = file_get_contents("nighthawk.pem");
// Nachricht in Datei speichern
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);
// Verschlüsseln
if (openssl_pkcs7_encrypt("msg.txt", "enc.txt", $key,
array("To" => "nighthawk@example.com", // keyed syntax
"From: HQ <hq@example.com>", // indexed syntax
"Subject" => "Streng geheim!"))) {
// message encrypted - send it!
exec(ini_get("sendmail_path") . " < enc.txt");
}
?>