openssl_pkcs7_encrypt

openssl_pkcs7_encrypt -- Chiffre un message S/MIME

Description

boolean openssl_pkcs7_encrypt ( string infilename, string outfilename, mixed recipcerts, array headers [, long flags])

openssl_pkcs7_encrypt( ) prend le contenu du fichier infilename et le chiffre en utilisant un chiffrement RC2 à 40-bit , de manière à ce que le message ne puisse être lu que par le possesseur de recipcerts , qui peut être un certificat X.509 , ou un tableau de certificats X.509 . headers est un tableau d'en-têtes qui seront ajouté en tête de message , une fois que les données auront été chiffrées . flags peut être utilisé pour spécifier des options qui affecteront le chiffrement (voir les constantes PKCS7 ) . headers peut être un tableau associatif , dont les clés sont les noms d 'en-tête , ou bien un tableau indexé dont chaque ligne contient une en-tête complète .

Les paramètres et le type de retour de cette fonction risquent d' evoluer d 'ici à la prochaine version de PHP .

Exemple 1 . Exemple avec openssl_pkcs7_encrypt( )

 
?php

 
/

 
/

 
le

 
message

 
que

 
vous

 
souhaitez

 
chiffrer

 
et

 
envoyer

 
à

 
votre

 
agent

 
secret

 
/

 
/

 
en

 
mission

 
commandée

 
,

 
appelé

 
"

 
nighthawk

 
"

 
.




 
Vous

 
avez

 
son

 
certificat

 
/

 
/

 
dans

 
le

 
fichier

 
"

 
nighthawk.pem

 
"

 
$data

 
=

 
EOD

 
Nighthawk

 
,

 
Top

 
secret

 
,

 
uniquement

 
vous

 
votre

 
lecture

 
!




 
L

 
'

 
ennemi

 
approche

 
!




 
Rendez-vous

 
au

 
café

 
à

 
8h30

 
,

 
pour

 
votre

 
faux

 
passeport

 
.




 
HQ

 
EOD

 
;

 
/

 
/

 
sauvez

 
le

 
message

 
dans

 
un

 
fichier

 
$fp

 
=

 
fopen("msg.txt"

 
,

 
"w")

 
;

 
fwrite($fp

 
,

 
$data)

 
;

 
fclose($fp)

 
;

 
/

 
/

 
chiffrez

 
le

 
if

 
(openssl_pkcs7_encrypt("msg.txt"

 
,

 
"enc.txt"

 
,

 
"nighthawk.pem"

 
,

 
array("To

 
"

 
=

 
"nighthawk@agent.com"

 
,

 
/

 
/

 
keyed

 
syntax

 
"From

 
:




 
HQ

 
hq@cia.com

 
"

 
,

 
/

 
/

 
indexed

 
syntax

 
"Subject

 
"

 
=

 
"Eyes

 
only"))

 
)

 
{

 
/

 
/

 
message

 
chiffré

 
:

 
envoyez

 
le

 
!

 
exec(ini_get("sendmail_path"

 
)

 
.

 
"

 
enc.txt")

 
;

 
}

 
?





Note : Ces constantes ont été ajoutées en PHP 4.0.6 .