openssl_open

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

openssl_openOuvre des données scellées

Description

openssl_open ( string $sealed_data , string &$open_data , string $env_key , mixed $priv_key_id [, string $method = "RC4" [, string $iv ]] ) : bool

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.

Liste de paramètres

sealed_data

open_data

Si l'appel a réussi, les données ouvertes sont retournées dans ce paramètre.

env_key

priv_key_id

method

La méthode de chiffrement.

iv

Vecteur d'initialisation.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version Description
7.0.0 Le paramètre iv a été ajouté.
5.3.0 Le paramètre method a été ajoutée.

Exemples

Exemple #1 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($fp8192);
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