openssl_seal

(PHP 4 >= 4.0.4, PHP 5, PHP 7)

openssl_sealSellar (encriptar) información

Descripción

openssl_seal ( string $data , string &$sealed_data , array &$env_keys , array $pub_key_ids [, string $method = "RC4" ] ) : int

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.

Parámetros

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.

Valores devueltos

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.

Ejemplos

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($fp8192);
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($fp8192);
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);
?>

Historial de cambios

Versión Descripción
5.3.0 Se añadió el parámetro method.

Ver también