PHP.nl

openssl_open

openssl_open

Open sealed data

bool **openssl_open** string $data string $output string $encrypted_key  $private_key string $cipher_algo  $iv
opens (decrypts)  using an envelope

key that is decrypted from using . The decryption is done using and . The IV is required only if the cipher method requires it. The function fills with the decrypted data. The envelope key is usually generated when the data are sealed using a public key that is associated with the private key. See for more information. openssl_open``data``encrypted_key``private_key``cipher_algo``iv``output``openssl_seal

dataThe sealed data.

outputIf the call is successful the opened data is returned in this parameter.

encrypted_key The encrypted symmetric key that can be decrypted using . private_key

private_key The private key used for decrypting . encrypted_key

cipher_algo The cipher method used for decryption of .

  `data`> **Let op:** > The default value for PHP versions prior to 8.0 is () which is
     considered insecure. It is strongly recommended to explicitly specify a secure cipher
     method.
    `'RC4'`

iv The initialization vector used for decryption of . It is required if the cipher method requires IV. This can be found out by calling with . data``openssl_cipher_iv_length``cipher_algo

return.success

Voorbeeld: example

<?php

// $sealed, $env_key and $iv are assumed to contain the sealed data, our
// envelope key and IV. All given to us by the sealer.

// Fetch private key from file located in private_key.pem
$pkey = openssl_get_privatekey("file://private_key.pem");

// Decrypt the data and store it in $open
if (openssl_open($sealed, $open, $env_key, $pkey, 'AES256', $iv)) {
    echo "Here is the opened data: ", $open;
} else {
    echo "Failed to open data";
}

?>

openssl_seal