openssl_pkcs7_encrypt
(PHP 4 >= 4.0.6, PHP 5)
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
  ]] )
    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
- 
      headersest 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.headerspeut ê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
- 
      flagspeut être utilisé pour spécifier des options qui affecteront le chiffrement (voir les constantes PKCS7).
- 
     cipherid
- 
      Une des constantes cipher. 
Valeurs de retour
   Cette fonction retourne TRUE en cas de
succès ou FALSE si une erreur survient.
  
Historique
| Version | Description | 
|---|---|
| 5.0.0 | Ajout du paramètre cipherid. | 
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"); } ?>
