openssl_pkcs7_encrypt
(PHP 4 >= 4.0.6, PHP 5, PHP 7)
openssl_pkcs7_encrypt — Chiffre un message S/MIME
Description
$infile
, string $outfile
, mixed $recipcerts
, array $headers
[, int $flags
= 0
[, int $cipherid
= OPENSSL_CIPHER_RC2_40
]] ) : bool
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
.
Liste de paramètres
-
infile
-
-
outfile
-
-
recipcerts
-
Soit un certificat X.509, soit un tableau de certificats X.509.
-
headers
-
headers
est un tableau d'en-têtes qui seront ajoutés en tête de message, une fois que les données auront été chiffrées.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 un en-tête complet. -
flags
-
flags
peut être utilisé pour spécifier des options qui affecteront le chiffrement (voir les constantes PKCS7). -
cipherid
-
Une des constantes cipher.
Exemples
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 votre lecture !
L'ennemi approche! Rendez-vous au café à 8 h 30,
pour votre faux passeport.
HQ
EOD;
// Chargement de la clé
$key = file_get_contents("nighthawk.pem");
// Sauvegarde du message dans un fichier
$fp = fopen("msg.txt", "w");
fwrite($fp, $data);
fclose($fp);
// Chiffrons-le
if (openssl_pkcs7_encrypt("msg.txt", "enc.txt", $key,
array("To" => "nighthawk@example.com", // syntaxe sous forme de clé
"From: HQ <hq@example.com>", // syntaxe sous forme d'indexe
"Subject" => "Que pour vos yeux !"))) {
// message chiffré - envoyez-le !
exec(ini_get("sendmail_path") . " < enc.txt");
}
?>
Version en cache
23/11/2024 02:33:32 Cette version de la page est en cache (à la date du 23/11/2024 02:33:32) 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-openssl-pkcs7-encrypt.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.