openssl_public_encrypt
openssl_sign
Fonctions OpenSSL
PHP Manual

# openssl_seal

(PHP 4 >= 4.0.4, PHP 5)

openssl_seal — Scelle des données

### Description

int openssl_seal ( string `$data` , string `&$sealed_data` , array `&$env_keys` , array `$pub_key_ids` )

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);
?>`

### Voir aussi

- openssl_open()

openssl_public_encrypt
openssl_sign
Fonctions OpenSSL
PHP Manual