openssl_seal

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