mirror of
https://github.com/openssl/openssl.git
synced 2024-12-09 05:51:54 +08:00
Dont require CRT params on ossl_rsa_set0_all_params
Its not required that crt params be available in an RSA key, so don't perform an error check on them Fixes #29135 Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/22334)
This commit is contained in:
parent
4ad3a44ba4
commit
2647726bd3
@ -757,18 +757,22 @@ int ossl_rsa_set0_all_params(RSA *r, const STACK_OF(BIGNUM) *primes,
|
||||
return 0;
|
||||
|
||||
pnum = sk_BIGNUM_num(primes);
|
||||
if (pnum < 2
|
||||
|| pnum != sk_BIGNUM_num(exps)
|
||||
|| pnum != sk_BIGNUM_num(coeffs) + 1)
|
||||
if (pnum < 2)
|
||||
return 0;
|
||||
|
||||
if (!RSA_set0_factors(r, sk_BIGNUM_value(primes, 0),
|
||||
sk_BIGNUM_value(primes, 1))
|
||||
|| !RSA_set0_crt_params(r, sk_BIGNUM_value(exps, 0),
|
||||
sk_BIGNUM_value(exps, 1),
|
||||
sk_BIGNUM_value(coeffs, 0)))
|
||||
sk_BIGNUM_value(primes, 1)))
|
||||
return 0;
|
||||
|
||||
if (pnum == sk_BIGNUM_num(exps)
|
||||
&& pnum == sk_BIGNUM_num(coeffs) + 1) {
|
||||
|
||||
if (!RSA_set0_crt_params(r, sk_BIGNUM_value(exps, 0),
|
||||
sk_BIGNUM_value(exps, 1),
|
||||
sk_BIGNUM_value(coeffs, 0)))
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifndef FIPS_MODULE
|
||||
old_infos = r->prime_infos;
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user