Hi,

I have been looking to https://bugs.php.net/bug.php?id=60632 which is about
failing (segfaulting) openssl_seal when used with cipher alg that requires
IV (e.g. AES-128-CBC). I think that the patch looks reasonable from the
quick look.

The only question and the reason why I'm sending this here is if everyone
(and mainly Ferenc ) is ok with adding new ref arg to openssl_seal that
will return iv to 5.6? So the definition is:

int openssl_seal ( string $data , string &$sealed_data , array &$env_keys ,
array $pub_key_ids [, string $method[, string &$iv ]] )

(the last iv is new). There would be also a new param for openssl_open that
would allow to pass that IV for opening sealed data.

Alternatively we could just disable IV ciphers in 5.6 to at least prevent
the segfault and add it to 7 if Anatol and Kalle are ok with that or 7.1 if
not :) ?

There also is an another thing for TS Win build (probably question for
Anatol and Pierre :) ). The thing is that EVP_SealInit uses internally
RAND_bytes. IIRC there is some locking issue with openssl RAND on TS win (
the reason why openssl_random_pseudo_bytes uses Win random) so I was
wondering if it should be disabled on win? The thing is that it is already
a case for other functions. One example is generating key params in
openssl_pkey_new:

openssl_pkey_new(array( 'dh'=> array( 'p' => $bin_prime, 'g' => '2' )));

This will also call RAND_bytes when generating priv key.

Could that be an issue on Win?

Cheers

Jakub

Reply via email to