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(
)
.