openssl_seal
(PHP 4 >= 4.0.4, PHP 5)
openssl_seal — Scelle des données
Description
$data
, string &$sealed_data
, array &$env_keys
, array $pub_key_ids
[, string $method
] )
openssl_seal() chiffre les données
data
en utilisant l'algorithme RC4
avec une clé secrète générée aléatoirement. La clé
est chiffrée avec chaque clé publique associée à
pub_key_ids
et chaque clé ainsi
chiffrée est retournée dans env_keys
.
Cela signifie que vous pouvez envoyer des données scellées
à plusieurs destinataires (en supposant que chacun ait reçu la
clé publique). Chaque destinataire doit recevoir les données
chiffrées et la clé d'enveloppe, qui a été
chiffrée avec la clé publique du destinataire.
Liste de paramètres
-
data
-
-
sealed_data
-
-
env_keys
-
-
pub_key_ids
-
Valeurs de retour
Retourne la longueur des données
scellées en cas de succès, et FALSE
sinon.
En cas de succès, les données scellées sont
placées dans le paramètre sealed_data
,
et les clés d'enveloppe dans env_keys
.
Exemples
Exemple #1 Exemple avec openssl_seal()
<?php // On suppose que $data contient les données à sceller // lecture de la clé publique pour chaque destinataire $fp = fopen("/src/openssl-0.9.6/demos/maurice/cert.pem", "r"); $cert = fread($fp, 8192); fclose($fp); $pk1 = openssl_get_publickey($cert); // pour le deuxième destinataire $fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r"); $cert = fread($fp, 8192); fclose($fp); $pk2 = openssl_get_publickey($cert); // scelle le message : seuls, les possesseurs de $pk1 et $pk2 peuvent déchiffrer // le message $sealed avec les clés $ekeys[0] et $ekeys[1] (respectivement). openssl_seal($data, $sealed, $ekeys, array($pk1, $pk2)); // libère les clés de la mémoire openssl_free_key($pk1); openssl_free_key($pk2); ?>