|
(PHP 4 >= 4.0.4)
openssl_open - открывает пломбированные данные.
Описание
bool openssl_open (string sealed_data, string open_data, string env_key, mixed priv_key_id)
Предупреждение!
|
Эта функция - ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение, имя и всё остальное, что задокументировано для данной функции может быть изменено в будущих релизах РНР без предупреждения. Вы можете использовать эту функцию только на свой страх и риск.
|
Возвращает
TRUE
при успехе,
FALSE
при неудаче. При успехе открытые данные возвращаются в
open_data
.
openssl_open() открывает (дешифрует)
sealed_data
с использованием private ключа, ассоциированного с идентификатором ключа
priv_key_id
, и ключ конверта/envelope
env_key
и заполняет
open_data
дешифрованными данными. Ключ envelope генерируется, когда данные пломбированы и могут
использоваться только одним специфическим private ключом. См. дополнительно
openssl_seal()
.
Пример 1. openssl_open()
// предполагается, что $sealed и $env_key содержат пломбированные данные
// и наш envelope ключ, данные нам пломбировщиком.
// извлечь private ключ из файла и готовить его
$fp = fopen("/src/openssl-0.9.6/demos/sign/key.pem", "r");
$priv_key = fread($fp, 8192);
fclose($fp);
$pkeyid = openssl_get_privatekey($priv_key);
// дешифровать данные и сохранить их в $open
if (openssl_open($sealed, $open, $env_key, $pkeyid))
echo "here is the opened data: ", $open;
else
echo "failed to open data";
// освободить private ключ из памяти
openssl_free_key($pkeyid);
|
|
См. также
openssl_seal()
.
|
|