PHP Handbuch
Zurück |  | Nach vorne

# 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])

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.

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 | Nach vorne
openssl_pkcs7_decrypt | Nach oben | openssl_pkcs7_sign