PHP Handbuch
Zurück |  | Nach vorne

# openssl_pkcs7_encrypt

(PHP 4 >= 4.0.6)

openssl_pkcs7_encrypt -- Verschlüsseln einer S/MIME Nachricht

## Beschreibung

``bool openssl_pkcs7_encrypt` (string infilename, string outfilename, mixed recipcerts, array headers [, long flags])`

Warnung
Diese Funktion ist EXPERIMENTELL. Das Verhalten, der Funktionsname und alles Andere was hier dokumentiert ist, kann sich in zukünftigen PHP-Versionen ohne Ankündigung ändern. Seien Sie gewarnt und verwenden Sie diese Funktion auf eigenes Risiko.

Die Funktion openssl_pkcs7_encrypt() verschlüsselt die Inhalte der Datei, angegeben durch den Pararmeter `infilename`. 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. Das Array `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. Um den Verschlüsselungsprozess zu beeinflussen, können Sie den Paramter `flags` benutzen - siehe PKCS7 Konstanten.

Beispiel 1. openssl_pkcs7_encrypt() Beispiel
    // 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;
    // 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", "nighthawk.pem",
        array("To" => "nighthawk@agent.com", // keyed syntax
              "From: HQ <hq@cia.com>", // indexed syntax
              "Subject" => "Eyes only")))
    {
        // Nachricht verschlüsselt - ab damit!
        exec(ini_get("sendmail_path") . " < enc.txt");
    }

> Anmerkung: Diese Funktion wurde in 4.0.6 hinzugefügt.

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