Ejemplo openssl_seal

Ejemplo 1

Descripción

El objetivo de este ejemplo es mostrar cómo se usa la función openssl_seal para cifrar el contenido de un archivo de texto de forma que pueda ser enviado a múltiples destinatarios, sin tener que cifrar individualmente para cada uno de ellos. Además de mostrar en la página el mensaje cifrado y las claves RC4 de 128 bits también cifradas que genera esta función, el programa los almacena en archivos para utilizarlos posteriormente.

seal.png

Código

<?php
  // Se recupera el mensaje original y el cifrado para mostrarlos
  $Mensaje = file_get_contents('tmp/mensaje.txt');
 
  // Recuperación de las claves de los destinatarios, una es una simple clave pública
  $Clave1 = openssl_pkey_get_public('file:///home/francisco/Publico/publica.pem');
  // y la otra un certificado
  $Clave2 = openssl_x509_read('file://tmp/certx509.pem');
 
  // Cifrado del mensaje
  $Long = openssl_seal($Mensaje, $Cifrado, $Claves, array($Clave1, $Clave2));
 
  // Mostrar en la página los distintos elementos
  print "Mensaje original: $Mensaje<p>Longitud del mensaje cifrado: $Long bytes
         <p>Mensaje cifrado: <pre>$Cifrado</pre><p>Array con las claves:<pre>";
  print_r($Claves);
 
  // Se guardan las claves y el mensaje cifrado para usarlos con otro ejemplo
  file_put_contents('tmp/clave1.rc4', $Claves[0]);
  file_put_contents('tmp/clave2.rc4', $Claves[1]);
  file_put_contents('tmp/cifrado.rc4', $Cifrado);
?>
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License