openssl_pkcs7_sign

openssl_pkcs7_sign -- Signe un message S/MIME

Description

boolean openssl_pkcs7_sign ( string infilename, string outfilename, mixed signcert, mixed privkey, array headers [, long flags [, string extracertsfilename]])

openssl_pkcs7_sign( ) prend le contenu du fichier infilename et le signe en utilisant le certificat et la clé privée contenus dans les arguments signcert et privkey .

headers est un tableau d' en-têtes qui seront ajouté au données chiffrées (voir la fonction openssl_pkcs7_encrypt( ) pour plus de détails sur le format du paramètre ) .

flags sert à modifier le message final . Voyez les constantes PKCS7 . Par défaut , la valeur est : PKCS7_DETACHED .

extracerts spécifi le nom du fichier contenant un ensemble de certificat supplémentaires à inclure dans la signature , qui pourront aider le destinataire à vérifier les données que vous utilisez .

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_sign( )

 
 ?php

 
/

 
/

 
le

 
message

 
que

 
vous

 
voulez

 
signer

 
,

 
afin

 
que

 
le

 
destinataire

 
soit

 
sûr

 
qu'

 
il

 
/

 
/

 
vient

 
bien

 
de

 
vous

 
$data

 
=

 
EOD

 
Tu

 
peux

 
dépenser

 
jusqu

 


 
10000

 
euros

 
en

 
note

 
de

 
frais

 
.




 
Ton

 
boss

 
HQ

 
EOD

 
;

 
/

 
/

 
sauvez

 
le

 
message

 
dans

 
un

 
fichier

 
$fp

 
=

 
fopen("msg.txt"

 
,

 
"w")

 
;

 
fwrite($fp

 
,

 
$data)

 
;

 
fclose($fp)

 
;

 
/

 
/

 
chiffrez

 
le

 
if

 
(openssl_pkcs7_sign("msg.txt"

 
,

 
"signed.txt"

 
,

 
"mycert.pem"

 
,

 
array("mycert.pem"

 
,

 
"mypassphrase")

 
,

 
array("To

 
"

 
=

 
"joes@sales.com"

 
,

 
/

 
/

 
keyed

 
syntax

 
"From

 
:




 
HQ

 
ceo@sales.com

 
"

 
,

 
/

 
/

 
indexed

 
syntax

 
"Subject

 
"

 
=

 
"Eyes

 
only")

 
)

 
{

 
/

 
/

 
message

 
signed

 
-

 
send

 
it

 
!

 
exec(ini_get("sendmail_path"

 
)

 
.

 
"

 
signed.txt")

 
;

 
}

 
?





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