PHP Doku:: Verschlüsseln einer S/MIME Nachricht - function.openssl-pkcs7-encrypt.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzKryptografische ErweiterungenOpenSSLOpenSSL Funktionenopenssl_pkcs7_encrypt

Ein Service von Reinhard Neidl - Webprogrammierung.

OpenSSL Funktionen

<<openssl_pkcs7_decrypt

openssl_pkcs7_sign>>

openssl_pkcs7_encrypt

(PHP 4 >= 4.0.6, PHP 5)

openssl_pkcs7_encryptVerschlüsseln einer S/MIME Nachricht

Beschreibung

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

openssl_pkcs7_encrypt() verschlüsselt den Inhalt der Datei namens infile und verschlüsselt ihn unter Verwendung eines RC2 40-Bit Schlüssels. Der Inhalt kann anschließend nur von den im Parameter recipcerts angegebenen Empfängern gelesen werden.

Parameter-Liste

infile

outfile

recipcerts

Entweder ein einzelnes X.509-Zertifikat oder ein Array solcher Zertifikate.

headers

headers ist ein Array von Headern die den Daten nach der Verschlüsselung vorangestellt werden.

Bei headers kann es sich entweder um ein assoziatives Array handeln, wobei der Key dem Header-Namen entspricht, oder um ein indiziertes Array, bei dem jedes Element einen einzelnen Header enthält.

flags

Mittels flags können Optionen angegeben werden die den Verschlüsselungsprozeß beeinflussen. Siehe PKCS7 Konstanten.

cipherid

Mittels cipherid kann seit PHP5 der Schlüssel bestimmt werden.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Changelog

Version Beschreibung
5.0.0 Der Parameter cipherid wurde hinzugefügt.

Beispiele

Beispiel #1 openssl_pkcs7_encrypt() Beispiel

<?php
// die zu verschlüsselnde Nachricht, die Sie Ihrem als "Nighthawk" bekanntem
// Geheimagenten im Einsatz schicken wollen.
// Sein Zertifikat liegt in der Datei nighthawk.pem vor
$data = <<<EOD
Nighthawk,

Streng geheim!

Der Feind rückt näher. Treffen Sie mich im Cafè um 0830.

HQ
EOD;

// Schlüssel laden
$key file_get_contents("nighthawk.pem");

// Nachricht in Datei speichern
$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" => "Streng geheim!"))) {
    
// message encrypted - send it!
    
exec(ini_get("sendmail_path") . " < enc.txt");
}
?>


Keine BenutzerBeiträge.
- Beiträge aktualisieren...



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)