array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'tr', ), 'this' => array ( 0 => 'function.openssl-seal.php', 1 => 'openssl_seal', ), 'up' => array ( 0 => 'ref.openssl.php', 1 => 'OpenSSL İşlevleri', ), 'prev' => array ( 0 => 'function.openssl-random-pseudo-bytes.php', 1 => 'openssl_random_pseudo_bytes', ), 'next' => array ( 0 => 'function.openssl-sign.php', 1 => 'openssl_sign', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'tr', 'path' => 'reference/openssl/functions/openssl-seal.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)
openssl_seal — Veriyi mühürler (şifreler)
$veri
,&$mühürlü_veri
,&$zarf_anahtarları
,$genel_anahtar
,$algoritma
,&$ilklendirme_yöneyi
= null
Rasgele üretilmiş bir gizli anahtarla verilen
algoritma
'yı kullanarak veri
yi
mühürler (şifreler) ve mühürlü_veri
bağımsız değişkeninde
döndürür. Gizli anahtar, genel_anahtar
içindeki
tanımlayıcılarla ilişkili genel anahtarlarla şifrelenir ve
zarf_anahtarları
dizisinde döndürülür. Bu, bir
kişinin birden fazla alıcıya mühürlü veri gönderebileceği anlamına gelir
(genel anahtarlarının elinde olması şartıyla). Her alıcının, hem mühürlü
veriyi hem de alıcının genel anahtarıyla şifrelenmiş zarf anahtarını alması
gerekir.
veri
Mühürlenecek veri.
mühürlü_veri
Mühürlenen veri bu bağımsız değişkene konur.
zarf_anahtarları
Genel anahtarlarla şirelenmiş gizli anahtarların döndürüldüğü dizi.
genel_anahtar
Genel anahtarları içeren OpenSSLAsymmetricKey örnekleri dizisi.
algoritma
Şifreleme yöntemi.
Öntanımlı değerin ('RC4'
) günenilmez olduğu
varsayılır. Güvenilir bir şifreleme yöntemi belirtilmesi şiddetle
önerilir. method.
ilklendirme_yöneyi
İlklendirme yöneyi.
İşlem başarılı olursa mühürlü veri mühürlü_veri
bağımsız değişkenine, zarf mühürleri zarf_anahtarları
bağımsız değişkenine konup mühürlü verinin uzunluğu döndürülür. Hata oluşursa
false
döner.
Sürüm: | Açıklama |
---|---|
8.0.0 |
genel_anahtar artık
OpenSSLAsymmetricKey veya
OpenSSLCertificate örneği kabul ediyor;
evvelce, OpenSSL key veya OpenSSL
X.509 özkaynağı kabul edilirdi.
|
8.0.0 |
algoritma artık seçimlik değil.
|
8.0.0 |
ilklendirme_yöneyi artık null olabiliyor.
|
Ö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);
?>