PHP Handbuch
Zurück |  | Weiter

# openssl_pkcs7_encrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_encrypt -- Verschlüsseln einer S/MIME Nachricht

## Beschreibung

bool openssl_pkcs7_encrypt ( string infile, string outfile, mixed recipcerts, array headers [, int flags [, int cipherid]] )

Die Funktion openssl_pkcs7_encrypt() verschlüsselt die Inhalte der Datei, angegeben durch den Pararmeter infile. Die Verschlüsselung benutzt eine RC2 40 Bit Chiffre, so dass diese Inhalte nur von den beabsichtigten Empfängern gelesen werden können, die mit dem Parameter recipcerts angegeben wurden. Der Parameter recipcerts kann ein einzelnes X.509 Zertifikat oder ein Array von X.509 Zertifikaten enthalten. Der Parameter headers ist ein Array aus Headern die den Daten vorangestellt wird, nachdem diese verschlüsselt wurden. Um den Verschlüsselungsprozess zu beeinflussen, können Sie den Paramter flags benutzen - siehe PKCS7 Konstanten. headers kann entweder ein assoziatives Array sein, mit Indizes aus den Headernamen, oder ein indiziertes Array, wobei jedes Element eine einzelne Header-Zeile enthält. Mit cipherid kann Cipher seit PHP 5 bestimmt werden.

Beispiel 1. openssl_pkcs7_encrypt() Beispiel

`<?php
// Die Nachricht die Sie verschlüsselt an Ihren Geheimagenten,
// bekannt als Nachtfalke, schicken wollen.
// Sein Zertifikat liegt Ihnen in der Datei nighthawk.pem vor.
$data = <<<EOD
Nachtfalke,
Streng geheim, nur für Ihre Augen bestimmt!
Der Feind kommt näher! Treffen Sie mich im Cafe um 8.30 abends.
Sie erhalten Ihren gefälschten Ausweis!
HQ
EOD;
// Schlüssel laden
$key = file_get_contents("nighthawk.pem");
// speichern der Nachricht in einer Datei
$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" => "Eyes only"))) {
// Nachricht verschlüsselt - ab damit!
exec(ini_get("sendmail_path") . " < enc.txt");
}
?>`

Zurück | Zum Anfang | Weiter
openssl_pkcs7_decrypt | Nach oben | openssl_pkcs7_sign