I have been trying to setup a simple openssl_seal and openssl_open script in PHP (8.0.8 is my Version installed), I don't get any errors but openssl_open always returns FALSE.
Can anyone tell me if I did something wrong?
$algo = 'aes-256-gcm';
$iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length($algo));
$data = "Data to Seal";
$res = openssl_pkey_new(array(
'digest_alg' => 'sha256',
'private_key_bits' => 2048,
'private_key_type' => OPENSSL_KEYTYPE_RSA
));
openssl_pkey_export($res, $privkey);
$pubkey = openssl_pkey_get_details($res);
$pubkey = $pubkey["key"];
openssl_seal($data, $sealed, $envelope, array($pubkey), $algo, $iv);
$openKey = openssl_pkey_get_private($privkey);
if (openssl_open($sealed, $open, $envelope[0], $openKey, $algo, $iv)) {
echo "OPENED: ".$open;
} else {
echo "Failed to open Data!";
}