openssl_open

(PHP 4 >= 4.0.4, PHP 5)

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é privée priv_key_id et la clé d'enveloppe env_key et remplit 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 1837. Exemple avec openssl_open()

<?php
// On suppose que $sealed et $env_key contiennent les données scellées
// et la clé d'enveloppe, fournies par l'expéditeur
// lecture de la clé privé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échiffrage des données : elles sont placées dans $open
if ( openssl_open ( $sealed $open $env_key $pkeyid )) {
  echo 
"Voici les données déchiffrées : " $open ;
} else {
  echo 
"Impossible de déchiffrer les données" ;
}

// libération des ressources
openssl_free_key ( $pkeyid );
?>

Voir aussi openssl_seal() .