mirror of
https://github.com/openssl/openssl.git
synced 2024-11-21 01:15:20 +08:00
RSA keygen update: Raise an error if no prime candidate q is found.
Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de> Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/18429)
This commit is contained in:
parent
27c1cfd765
commit
d2399d8cd2
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Generated by util/mkerr.pl DO NOT EDIT
|
||||
* Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
@ -32,6 +32,7 @@ static const ERR_STRING_DATA BN_str_reasons[] = {
|
||||
{ERR_PACK(ERR_LIB_BN, 0, BN_R_NOT_A_SQUARE), "not a square"},
|
||||
{ERR_PACK(ERR_LIB_BN, 0, BN_R_NOT_INITIALIZED), "not initialized"},
|
||||
{ERR_PACK(ERR_LIB_BN, 0, BN_R_NO_INVERSE), "no inverse"},
|
||||
{ERR_PACK(ERR_LIB_BN, 0, BN_R_NO_PRIME_CANDIDATE), "no prime candidate"},
|
||||
{ERR_PACK(ERR_LIB_BN, 0, BN_R_NO_SOLUTION), "no solution"},
|
||||
{ERR_PACK(ERR_LIB_BN, 0, BN_R_NO_SUITABLE_DIGEST), "no suitable digest"},
|
||||
{ERR_PACK(ERR_LIB_BN, 0, BN_R_PRIVATE_KEY_TOO_LARGE),
|
||||
|
@ -349,7 +349,11 @@ int ossl_bn_rsa_fips186_4_derive_prime(BIGNUM *Y, BIGNUM *X, const BIGNUM *Xin,
|
||||
goto err;
|
||||
}
|
||||
/* (Step 8-10) */
|
||||
if (++i >= imax || !BN_add(Y, Y, r1r2x2))
|
||||
if (++i >= imax) {
|
||||
ERR_raise(ERR_LIB_BN, BN_R_NO_PRIME_CANDIDATE);
|
||||
goto err;
|
||||
}
|
||||
if (!BN_add(Y, Y, r1r2x2))
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
|
@ -184,6 +184,7 @@ BN_R_INVALID_SHIFT:119:invalid shift
|
||||
BN_R_NOT_A_SQUARE:111:not a square
|
||||
BN_R_NOT_INITIALIZED:107:not initialized
|
||||
BN_R_NO_INVERSE:108:no inverse
|
||||
BN_R_NO_PRIME_CANDIDATE:121:no prime candidate
|
||||
BN_R_NO_SOLUTION:116:no solution
|
||||
BN_R_NO_SUITABLE_DIGEST:120:no suitable digest
|
||||
BN_R_PRIVATE_KEY_TOO_LARGE:117:private key too large
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Generated by util/mkerr.pl DO NOT EDIT
|
||||
* Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 2020-2022 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Generated by util/mkerr.pl DO NOT EDIT
|
||||
* Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
|
||||
* Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||
* this file except in compliance with the License. You can obtain a copy
|
||||
@ -36,6 +36,7 @@
|
||||
# define BN_R_NOT_A_SQUARE 111
|
||||
# define BN_R_NOT_INITIALIZED 107
|
||||
# define BN_R_NO_INVERSE 108
|
||||
# define BN_R_NO_PRIME_CANDIDATE 121
|
||||
# define BN_R_NO_SOLUTION 116
|
||||
# define BN_R_NO_SUITABLE_DIGEST 120
|
||||
# define BN_R_PRIVATE_KEY_TOO_LARGE 117
|
||||
|
Loading…
Reference in New Issue
Block a user