openssl_pkcs7_encrypt
(PHP 4 >= 4.0.6, PHP 5)
openssl_pkcs7_encrypt -- Chiffre un message S/MIME
Description
bool
openssl_pkcs7_encrypt ( string infile, string outfile, mixed recipcerts, array headers [, int flags [, int cipherid]] )
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és 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 un en-tête complet.
Cipher peut être sélectionné avec le paramètre cipherid
depuis PHP 5.
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");
// 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", $key, array("To" => "nighthawk@agent.com", // keyed syntax "From: HQ <hq@cia.com>", // indexed syntax "Subject" => "Secret défense"))) { // message chiffré : envoyez-le! exec(ini_get("sendmail_path") . " < enc.txt"); } ?>
|
|