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
.