openssl_pkcs7_sign
(PHP 4 >= 4.0.6, PHP 5, PHP 7)
openssl_pkcs7_sign — Signe un message S/MIME
Description
$infilename
, string $outfilename
, mixed $signcert
, mixed $privkey
, array $headers
[, int $flags
= PKCS7_DETACHED
[, string $extracerts
]] )
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
.
Liste de paramètres
-
infilename
-
-
outfilename
-
-
signcert
-
-
privkey
-
-
headers
-
headers
est un tableau d'en-têtes qui seront ajoutés aux données chiffrées (voir la fonction openssl_pkcs7_encrypt() pour plus de détails sur le format du paramètre). -
flags
-
flags
sert à modifier le message final. Voyez les constantes PKCS7. -
extracerts
-
extracerts
spécifie le nom du fichier contenant un ensemble de certificats supplémentaires à inclure dans la signature, qui pourront aider le destinataire à vérifier les données que vous utilisez.
Exemples
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
EOD;
// sauvez le message dans un fichier
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);
// encrypt it
if (openssl_pkcs7_sign("msg.txt", "signed.txt", "mycert.pem",
array("file://mycert.pem", "mypassphrase"),
array("To" => "joes@example.com", // syntaxe à clé
"From: HQ <ceo@example.com>", // syntaxe indexée
"Subject" => "Eyes only")
)) {
// message signée - envoyez-le !
exec(ini_get("sendmail_path") . " < signed.txt");
}
?>
Version en cache
05/11/2024 14:36:16 Cette version de la page est en cache (à la date du 05/11/2024 14:36:16) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-function.openssl-pkcs7-sign.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.