(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 veriyi
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.
veriMühürlenecek veri.
mühürlü_veriMü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_anahtarGenel 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);
?>