Manuel PHP
Précédent
Suivant
openssl_seal() 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.
openssl_seal() scelle (chiffre) les données data en utilisant l 'algorithme RC4 avec une clé secrètre générée aléatoirement.
La clé est chiffrée avec chaque clé publique associée à pub_key_ids et chaque clé ainsi encryptée est retournée dans env_keys.
Cela signifique que vous pouvez envoyez des données scellées à plusieurs destinataires (en supposant que chacun ait recu la clé publique).
Chaque destinataire doit recevoir les données encryptées et la clé d 'enveloppe, qui a été encryptée avec la clé publique du destinataire.
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 possessuers 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);?
Voir aussi openssl_open().
Précédent
Sommaire
Suivant
Niveau supérieur