(PHP 4 >= 4.0.4, PHP 5, PHP 7)
openssl_seal — Sellar (encriptar) información
$data
, string &$sealed_data
, array &$env_keys
, array $pub_key_ids
[, string $method
= "RC4"
] )
openssl_seal() sella (encripta)
la información dada por data
mediante el método dado por method
con una clave secreta
generada aleatoriamente. La clave es encriptada con cada clave pública
asociada con los identificadores de pub_key_ids
y cada clave encriptada es devuelta
en env_keys
. Esto significa que se puede enviar
información sellada a múltiples destinatarios (siempre que se hayan obtenido sus
claves públicas). Cada destinatario debe recibir tanto la información sellada como
la clave de sobre que fue encriptada con la clave publica del destinatario.
data
Los datos a sellar.
sealed_data
Los datos sellados.
env_keys
Un array de claves encriptadas.
pub_key_ids
Un array de identificadores de recursos de clave pública.
method
El método de cifrado.
Devuelve la longitud de la información sellada si se tuvo éxito, o FALSE
si se produjo un error.
Si se tuvo éxito, la información sellada es devuelta en
sealed_data
, y las claves de sobre en
env_keys
.
Ejemplo #1 Ejemplo de openssl_seal()
<?php
// se asume que $data contiene la información que va a ser sellada
// traer las claves públicas para nuestros destinatarios, y prepararlas
$fp = fopen("/src/openssl-0.9.6/demos/maurice/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk1 = openssl_get_publickey($cert);
// Repetir para el segundo destinatario
$fp = fopen("/src/openssl-0.9.6/demos/sign/cert.pem", "r");
$cert = fread($fp, 8192);
fclose($fp);
$pk2 = openssl_get_publickey($cert);
// sellar el mensaje, sólo los propietarios de $pk1 y $pk2 pueden desencriptar $sealed
// con las claves $ekeys[0] y $ekeys[1] respectivamente.
openssl_seal($data, $sealed, $ekeys, array($pk1, $pk2));
// liberar las claves de la memoria
openssl_free_key($pk1);
openssl_free_key($pk2);
?>
Versión | Descripción |
---|---|
5.3.0 |
Se añadió el parámetro method .
|