openssl_open

(PHP 4 >= 4.0.4)

openssl_open -- Ouvre des données scellées

Description

bool openssl_open ( string sealed_data, string open_data, string env_key, mixed priv_key_id)

openssl_open() ouvre (déchiffre) les données sealed_data en utilisant la clé prviée priv_key_id et la clé d'enveloppe env_key et remplis open_data avec les données déchiffrées. La clé d'enveloppe est générée lorsque les données sont scellées, et ne peut être utilisée qu'avec la clé privée spécifique. Reportez-vous à openssl_seal() pour plus d'informations.

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec. En cas de succès, les données déchiffrées sont placées dans open_data.

Exemple 1. Exemple avec openssl_open()

<?php
// On suppose que $sealed et $env_key contiennent les donn&eacute;es scell&eacute;es
// et la cl&eacute; d'enveloppe, fournies par l'exp&eacute;diteur
// lecture de la cl&eacute; priv&eacute;e dans un fichier
  
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
  
$priv_key = fread($fp, 8192);
  
fclose($fp);
  
$pkeyid = openssl_get_privatekey($priv_key);
// d&eacute;chiffrage des donn&eacute;es : elles sont plac&eacute;es dans $open
  
if (openssl_open($sealed, $open, $env_key, $pkeyid)) {
    echo
"Voici les donn&eacute;es d&eacute;chiffr&eacute;es : ", $open;
  } else {
    echo
"Impossible de d&eacute;chiffrer les donn&eacute;es";
  }
// lib&eacute;ration des ressources
  
openssl_free_key($pkeyid);
?>

Voir aussi openssl_seal().