(PHP 4 >= 4.0.4, PHP 5, PHP 7)
openssl_seal — Veriyi mühürler
$veri
, string &$mühürlü_veri
, array &$zarf_mühürleri
, array $genankim_dizisi
) : int
Rasgele üretilmiş bir gizli anahtarla RC4 kullanarak
veri
'yi şifreler. Anahtar,
genankim_dizisi
içindeki kimliklerle ilişkili
anahtarlarla ve zarf_mühürleri
içindeki şifreli
anahtarlarla şifrelenir. Böylece, şifreli veri çok sayıda alıcıya
gönderilebilir (alıcıların genel anahtarları kullanılır). Her alıcının
mühürlü veri ile birlikte alıcının genel anahtarı ile şifrelenmiş zarf
anahtarını da alması gerekir.
veri
Genel anahtarlarla şifrelenip zarf anahtarları ile mühürlenecek veri.
mühürlü_veri
Mühürlenen veri bu değiştirgeye konur.
zarf_mühürleri
genankim_dizisi
Genel anahtar kimliklerini içeren dizi.
İşlem başarılı olursa mühürlü veri mühürlü_veri
değiştirgesine, zarf anahtarları zarf_mühürleri
değiştirgesine konup mühürlü verinin uzunluğu döndürülür. Hata oluşursa
FALSE
döner.
Örnek 1 - openssl_seal() örneği
<?php
// $veri'nin mühürlenecek veriyi içerdiği varsayılıyor.
// alıcıların genel anahtarlarını alıp hazırlayalım
$dt = fopen("/src/openssl-0.9.6/demos/maurice/cert.pem", "r");
$sert = fread($dt, 8192);
fclose($dt);
$ga1 = openssl_get_publickey($sert);
// İşlemi ikinci alıcı için yineleyelim.
$dt = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$sert = fread($dt, 8192);
fclose($dt);
$ga2 = openssl_get_publickey($sert);
// Veriyi mühürleyelim. $muhurlu_veri sadece $ga1 ve $ga2'nin sahipleri
// tarafından sırasıyla $muhurler[0] ve $muhurler[1] anahtarları ile
// çözülebilir.
openssl_seal($data, $muhurlu_veri, $muhurler, array($ga1, $ga2));
// anahtar belleklerini serbest bırakalım
openssl_free_key($ga1);
openssl_free_key($ga2);
?>