From: Nikita Popov Date: Mon, 15 Feb 2021 14:34:54 +0000 (+0100) Subject: Merge branch 'PHP-8.0' X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5f0b995e6cfd13d4c6c5b3106baba2c2539656c7;p=php Merge branch 'PHP-8.0' * PHP-8.0: Fixed bug #80747 --- 5f0b995e6cfd13d4c6c5b3106baba2c2539656c7 diff --cc ext/openssl/openssl.c index 3c94af9c36,2bae0534a2..7170e1af52 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@@ -3655,18 -3671,28 +3655,20 @@@ static EVP_PKEY * php_openssl_generate_ case OPENSSL_KEYTYPE_RSA: { RSA* rsaparam; -#if OPENSSL_VERSION_NUMBER < 0x10002000L - /* OpenSSL 1.0.2 deprecates RSA_generate_key */ - PHP_OPENSSL_RAND_ADD_TIME(); - rsaparam = (RSA*)RSA_generate_key(req->priv_key_bits, RSA_F4, NULL, NULL); -#else - { - BIGNUM *bne = (BIGNUM *)BN_new(); - if (BN_set_word(bne, RSA_F4) != 1) { - BN_free(bne); - php_error_docref(NULL, E_WARNING, "Failed setting exponent"); - return NULL; - } - rsaparam = RSA_new(); - PHP_OPENSSL_RAND_ADD_TIME(); - if (rsaparam == NULL || !RSA_generate_key_ex(rsaparam, req->priv_key_bits, bne, NULL)) { - php_openssl_store_errors(); - RSA_free(rsaparam); - rsaparam = NULL; - } + BIGNUM *bne = (BIGNUM *)BN_new(); + if (BN_set_word(bne, RSA_F4) != 1) { BN_free(bne); + php_error_docref(NULL, E_WARNING, "Failed setting exponent"); + return NULL; } -#endif + rsaparam = RSA_new(); + PHP_OPENSSL_RAND_ADD_TIME(); + if (rsaparam == NULL || !RSA_generate_key_ex(rsaparam, req->priv_key_bits, bne, NULL)) { + php_openssl_store_errors(); ++ RSA_free(rsaparam); ++ rsaparam = NULL; + } + BN_free(bne); if (rsaparam && EVP_PKEY_assign_RSA(req->priv_key, rsaparam)) { return_val = req->priv_key; } else {