array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'es', ), 'this' => array ( 0 => 'function.openssl-open.php', 1 => 'openssl_open', ), 'up' => array ( 0 => 'ref.openssl.php', 1 => 'Funciones de OpenSSL', ), 'prev' => array ( 0 => 'function.openssl-get-publickey.php', 1 => 'openssl_get_publickey', ), 'next' => array ( 0 => 'function.openssl-pbkdf2.php', 1 => 'openssl_pbkdf2', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'es', 'path' => 'reference/openssl/functions/openssl-open.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_open — Abre información sellada
$sealed_data
,&$open_data
,$env_key
,$priv_key_id
,$method
= ?
openssl_open() abre (desencripta)
sealed_data
usando la clave privada asociada con
el indentificador de clave priv_key_id
y la clave de sobre
env_key
, y rellena
open_data
con la información desencriptada.
La clave de sobre es generada cuando la
información es sellada y sólo puede usarse por una clave privada específica. Véase
openssl_seal() para más información.
sealed_data
open_data
Si la llamada tiene éxtio la información abierta es devuelta en este parámetro.
env_key
priv_key_id
Ejemplo #1 Ejemplo de openssl_open()
<?php
// se asume que $sealed y $env_key contienen la información sellada
// y nuestra clave de sobre, ambas entregadas a nosotros por el sellador.
// traer la clave privada del archivo y prepararla
$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);
// desencriptar la información y guardarla en $open
if (openssl_open($sealed, $open, $env_key, $pkeyid)) {
echo "aquí está la información abierta: ", $open;
} else {
echo "fallo al abrir la información";
}
// liberar la clave privada de la memoria
openssl_free_key($pkeyid);
?>