openssl_pkcs7_encrypt

openssl_pkcs7_encrypt -- Verschlüsseln einer S/MIME Nachricht

Beschreibung

bool openssl_pkcs7_encrypt ( string infile, string outfile, 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 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 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

 
;

 
/

 
/

 
Schlüssel

 
laden

 
$key

 
=

 
implode(""

 
,

 
file("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")

 
;

 
}