(PHP 4 >= 4.0.4)
openssl_seal -- ZapeΦetit (zak≤dovat) data
Popis
int
openssl_seal ( string data, string sealed_data, array env_keys, array pub_key_ids)
P°i ·sp∞chu vracφ dΘlku zapeΦet∞n²ch dat, p°i chyb∞ FALSE.
┌sp∞╣n∞ zapeΦet∞nß data se umφstφ do argumentu
sealed_data, a obßlka do
env_keys.
openssl_seal() zapeΦetφ (zak≤duje)
data pomocφ RC4 s nßhodn∞ generovan²m tajn²m klφΦem.
Tento klφΦ se zak≤duje v╣emi ve°ejn²mi klφΦi asociovan²mi s identifikßtory
v pub_key_ids a zak≤dovanΘ klφΦe se vrßtφ v
env_keys. To znamenß, ╛e lze poslat zapeΦet∞nß data
vφce p°φjemc∙m (za p°edpokladu, ╛e mßme jejφch ve°ejnΘ klφΦe). Ka╛d² z
p°φjemc∙ musφ obdr╛et zapeΦet∞nß data a obßlku, kterß byla zak≤dovßna
jeho ve°ejn²m klφΦem.
P°φklad 1. Ukßzka openssl_seal() // $data obsahuje data urΦenß k zapeΦet∞nφ
// zφskat ve°ejnΘ klφΦe na╣ich p°φjemc∙ a p°ipravit je
$fp = fopen("/src/openssl-0.9.6/demos/maurice/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk1 = openssl_get_publickey($cert);
// opakovat prodruhΘho p°φjemce
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk2 = openssl_get_publickey($cert);
// zapeΦetit zprßvu, pouze majitelΘ $pk1 a $pk2 mohou dek≤dovat $sealed pomocφ
// $ekeys[0] a $ekeys[1].
openssl_seal($data, $sealed, $ekeys, array($pk1,$pk2));
// uvolnit klφΦe z pam∞ti
openssl_free_key($pk1);
openssl_free_key($pk2); |
|
Viz takΘ openssl_open().