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"); } ?>
|
|