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