(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
)
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.
veriGenel anahtarlarla şifrelenip zarf anahtarları ile mühürlenecek veri.
mühürlü_veriMühürlenen veri bu değiştirgeye konur.
zarf_mühürleri
genankim_dizisiGenel 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);
?>