mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-02-11 00:40:05 +00:00
Add tests for optionally safe code paths in RSA
Only add the test hooks where it is meaningful. That is, not adding where the operation is essentially the same or the target is not the function that is being tested. Signed-off-by: Janos Follath <janos.follath@arm.com>
This commit is contained in:
parent
5fc20fc56a
commit
55be79b500
@ -1,5 +1,6 @@
|
||||
/* BEGIN_HEADER */
|
||||
#include "mbedtls/rsa.h"
|
||||
#include "bignum_core.h"
|
||||
#include "rsa_alt_helpers.h"
|
||||
#include "rsa_internal.h"
|
||||
/* END_HEADER */
|
||||
@ -489,7 +490,13 @@ void mbedtls_rsa_public(data_t *message_str, int mod,
|
||||
TEST_EQUAL(mbedtls_rsa_get_bitlen(&ctx), (size_t) mod);
|
||||
TEST_ASSERT(mbedtls_rsa_check_pubkey(&ctx) == 0);
|
||||
|
||||
#if defined(MBEDTLS_TEST_HOOKS) && !defined(MBEDTLS_THREADING_C)
|
||||
mbedtls_mpi_optionally_safe_codepath_reset();
|
||||
#endif
|
||||
TEST_ASSERT(mbedtls_rsa_public(&ctx, message_str->x, output) == result);
|
||||
#if defined(MBEDTLS_TEST_HOOKS) && !defined(MBEDTLS_THREADING_C)
|
||||
TEST_EQUAL(mbedtls_mpi_optionally_safe_codepath, MBEDTLS_MPI_IS_PUBLIC);
|
||||
#endif
|
||||
if (result == 0) {
|
||||
|
||||
TEST_ASSERT(mbedtls_test_hexcmp(output, result_str->x,
|
||||
@ -554,9 +561,15 @@ void mbedtls_rsa_private(data_t *message_str, int mod,
|
||||
/* repeat three times to test updating of blinding values */
|
||||
for (i = 0; i < 3; i++) {
|
||||
memset(output, 0x00, sizeof(output));
|
||||
#if defined(MBEDTLS_TEST_HOOKS) && !defined(MBEDTLS_THREADING_C)
|
||||
mbedtls_mpi_optionally_safe_codepath_reset();
|
||||
#endif
|
||||
TEST_ASSERT(mbedtls_rsa_private(&ctx, mbedtls_test_rnd_pseudo_rand,
|
||||
&rnd_info, message_str->x,
|
||||
output) == result);
|
||||
#if defined(MBEDTLS_TEST_HOOKS) && !defined(MBEDTLS_THREADING_C)
|
||||
TEST_EQUAL(mbedtls_mpi_optionally_safe_codepath, MBEDTLS_MPI_IS_SECRET);
|
||||
#endif
|
||||
if (result == 0) {
|
||||
|
||||
TEST_ASSERT(mbedtls_test_hexcmp(output, result_str->x,
|
||||
|
Loading…
x
Reference in New Issue
Block a user