mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2025-07-30 22:43:08 +03:00
Merge remote-tracking branch 'origin/development' into safer-ct5
This commit is contained in:
@ -33,6 +33,7 @@
|
||||
#if defined(MBEDTLS_MEMORY_BUFFER_ALLOC_C)
|
||||
#include "mbedtls/memory_buffer_alloc.h"
|
||||
#endif
|
||||
#include "common.h"
|
||||
|
||||
/**
|
||||
* \brief This macro tests the expression passed to it as a test step or
|
||||
@ -196,45 +197,6 @@
|
||||
mbedtls_exit(1); \
|
||||
}
|
||||
|
||||
/** \def ARRAY_LENGTH
|
||||
* Return the number of elements of a static or stack array.
|
||||
*
|
||||
* \param array A value of array (not pointer) type.
|
||||
*
|
||||
* \return The number of elements of the array.
|
||||
*/
|
||||
/* A correct implementation of ARRAY_LENGTH, but which silently gives
|
||||
* a nonsensical result if called with a pointer rather than an array. */
|
||||
#define ARRAY_LENGTH_UNSAFE(array) \
|
||||
(sizeof(array) / sizeof(*(array)))
|
||||
|
||||
#if defined(__GNUC__)
|
||||
/* Test if arg and &(arg)[0] have the same type. This is true if arg is
|
||||
* an array but not if it's a pointer. */
|
||||
#define IS_ARRAY_NOT_POINTER(arg) \
|
||||
(!__builtin_types_compatible_p(__typeof__(arg), \
|
||||
__typeof__(&(arg)[0])))
|
||||
/* A compile-time constant with the value 0. If `const_expr` is not a
|
||||
* compile-time constant with a nonzero value, cause a compile-time error. */
|
||||
#define STATIC_ASSERT_EXPR(const_expr) \
|
||||
(0 && sizeof(struct { unsigned int STATIC_ASSERT : 1 - 2 * !(const_expr); }))
|
||||
|
||||
/* Return the scalar value `value` (possibly promoted). This is a compile-time
|
||||
* constant if `value` is. `condition` must be a compile-time constant.
|
||||
* If `condition` is false, arrange to cause a compile-time error. */
|
||||
#define STATIC_ASSERT_THEN_RETURN(condition, value) \
|
||||
(STATIC_ASSERT_EXPR(condition) ? 0 : (value))
|
||||
|
||||
#define ARRAY_LENGTH(array) \
|
||||
(STATIC_ASSERT_THEN_RETURN(IS_ARRAY_NOT_POINTER(array), \
|
||||
ARRAY_LENGTH_UNSAFE(array)))
|
||||
|
||||
#else
|
||||
/* If we aren't sure the compiler supports our non-standard tricks,
|
||||
* fall back to the unsafe implementation. */
|
||||
#define ARRAY_LENGTH(array) ARRAY_LENGTH_UNSAFE(array)
|
||||
#endif
|
||||
|
||||
/** Return the smaller of two values.
|
||||
*
|
||||
* \param x An integer-valued expression without side effects.
|
||||
|
@ -2418,9 +2418,17 @@ component_test_psa_crypto_config_reference_ecc_ecp_light_only () {
|
||||
# on the ECP module.
|
||||
config_psa_crypto_no_ecp_at_all () {
|
||||
DRIVER_ONLY="$1"
|
||||
# start with crypto_full config for maximum coverage (also enables USE_PSA),
|
||||
# but excluding X509, TLS and key exchanges
|
||||
helper_libtestdriver1_adjust_config "crypto_full"
|
||||
# start with full config for maximum coverage (also enables USE_PSA)
|
||||
helper_libtestdriver1_adjust_config "full"
|
||||
|
||||
# keep excluding TLS and key exchanges (this will be removed in #7749)
|
||||
# Note: key exchanges are not explicitly disabled here because they are
|
||||
# auto-disabled in build_info.h as long as the following symbols
|
||||
# are not enabled.
|
||||
scripts/config.py unset MBEDTLS_SSL_TLS_C
|
||||
scripts/config.py unset MBEDTLS_SSL_PROTO_DTLS
|
||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_2
|
||||
scripts/config.py unset MBEDTLS_SSL_PROTO_TLS1_3
|
||||
|
||||
# enable support for drivers and configuring PSA-only algorithms
|
||||
scripts/config.py set MBEDTLS_PSA_CRYPTO_CONFIG
|
||||
@ -2433,22 +2441,6 @@ config_psa_crypto_no_ecp_at_all () {
|
||||
scripts/config.py unset MBEDTLS_ECP_C
|
||||
fi
|
||||
|
||||
# Disable PK module since it depends on ECP
|
||||
scripts/config.py unset MBEDTLS_PK_C
|
||||
scripts/config.py unset MBEDTLS_PK_PARSE_C
|
||||
scripts/config.py unset MBEDTLS_PK_WRITE_C
|
||||
# Disable also RSA_C that would re-enable PK
|
||||
scripts/config.py unset MBEDTLS_RSA_C
|
||||
scripts/config.py unset MBEDTLS_PKCS1_V15
|
||||
scripts/config.py unset MBEDTLS_PKCS1_V21
|
||||
scripts/config.py unset MBEDTLS_X509_RSASSA_PSS_SUPPORT
|
||||
# Disable also key exchanges that depend on RSA for completeness
|
||||
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
|
||||
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
|
||||
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
|
||||
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
|
||||
scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
|
||||
|
||||
# Disable all the features that auto-enable ECP_LIGHT (see build_info.h)
|
||||
scripts/config.py unset MBEDTLS_PK_PARSE_EC_EXTENDED
|
||||
scripts/config.py unset MBEDTLS_PK_PARSE_EC_COMPRESSED
|
||||
@ -2458,16 +2450,6 @@ config_psa_crypto_no_ecp_at_all () {
|
||||
# the future, the following line could be removed (see issues
|
||||
# 6061, 6332 and following ones)
|
||||
scripts/config.py unset MBEDTLS_ECP_RESTARTABLE
|
||||
|
||||
# Disable PSA_WANT symbols that would re-enable PK
|
||||
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_BASIC
|
||||
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_IMPORT
|
||||
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_EXPORT
|
||||
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_KEY_TYPE_RSA_KEY_PAIR_GENERATE
|
||||
scripts/config.py -f include/psa/crypto_config.h unset PSA_WANT_KEY_TYPE_RSA_PUBLIC_KEY
|
||||
for ALG in $(sed -n 's/^#define \(PSA_WANT_ALG_RSA_[0-9A-Z_a-z]*\).*/\1/p' <"$CRYPTO_CONFIG_H"); do
|
||||
scripts/config.py -f include/psa/crypto_config.h unset $ALG
|
||||
done
|
||||
}
|
||||
|
||||
# Build and test a configuration where driver accelerates all EC algs while
|
||||
@ -2476,7 +2458,7 @@ config_psa_crypto_no_ecp_at_all () {
|
||||
#
|
||||
# Keep in sync with component_test_psa_crypto_config_reference_ecc_no_ecp_at_all()
|
||||
component_test_psa_crypto_config_accel_ecc_no_ecp_at_all () {
|
||||
msg "build: crypto_full + accelerated EC algs + USE_PSA - ECP"
|
||||
msg "build: full + accelerated EC algs + USE_PSA - TLS - KEY_EXCHANGE - ECP"
|
||||
|
||||
# Algorithms and key types to accelerate
|
||||
loc_accel_list="ALG_ECDSA ALG_DETERMINISTIC_ECDSA \
|
||||
@ -2507,12 +2489,11 @@ component_test_psa_crypto_config_accel_ecc_no_ecp_at_all () {
|
||||
not grep mbedtls_ecjpake_ library/ecjpake.o
|
||||
# Also ensure that ECP or RSA modules were not re-enabled
|
||||
not grep mbedtls_ecp_ library/ecp.o
|
||||
not grep mbedtls_rsa_ library/rsa.o
|
||||
|
||||
# Run the tests
|
||||
# -------------
|
||||
|
||||
msg "test suites: crypto_full + accelerated EC algs + USE_PSA - ECP"
|
||||
msg "test: full + accelerated EC algs + USE_PSA - TLS - KEY_EXCHANGE - ECP"
|
||||
make test
|
||||
}
|
||||
|
||||
@ -2520,16 +2501,13 @@ component_test_psa_crypto_config_accel_ecc_no_ecp_at_all () {
|
||||
# in conjunction with component_test_psa_crypto_config_accel_ecc_no_ecp_at_all().
|
||||
# Keep in sync with its accelerated counterpart.
|
||||
component_test_psa_crypto_config_reference_ecc_no_ecp_at_all () {
|
||||
msg "build: crypto_full + non accelerated EC algs + USE_PSA"
|
||||
msg "build: full + non accelerated EC algs + USE_PSA - TLS - KEY_EXCHANGE"
|
||||
|
||||
config_psa_crypto_no_ecp_at_all 0
|
||||
|
||||
make
|
||||
|
||||
# Esure that the RSA module was not re-enabled
|
||||
not grep mbedtls_rsa_ library/rsa.o
|
||||
|
||||
msg "test suites: crypto_full + non accelerated EC algs + USE_PSA"
|
||||
msg "test: crypto_full + non accelerated EC algs + USE_PSA - TLS - KEY_EXCHANGE"
|
||||
make test
|
||||
}
|
||||
|
||||
|
@ -302,6 +302,28 @@ TASKS = {
|
||||
# case above.
|
||||
('Key ASN1 (OneAsymmetricKey X25519, doesn\'t match masking '
|
||||
'requirements, from RFC8410 Appendix A but made into version 0)'),
|
||||
# When PK_PARSE_C and ECP_C are defined then PK_PARSE_EC_COMPRESSED
|
||||
# is automatically enabled in build_info.h (backward compatibility)
|
||||
# even if it is disabled in config_psa_crypto_no_ecp_at_all(). As a
|
||||
# consequence compressed points are supported in the reference
|
||||
# component but not in the accelerated one, so they should be skipped
|
||||
# while checking driver's coverage.
|
||||
'Parse EC Key #10a (SEC1 PEM, secp384r1, compressed)',
|
||||
'Parse EC Key #11a (SEC1 PEM, secp521r1, compressed)',
|
||||
'Parse EC Key #12a (SEC1 PEM, bp256r1, compressed)',
|
||||
'Parse EC Key #13a (SEC1 PEM, bp384r1, compressed)',
|
||||
'Parse EC Key #14a (SEC1 PEM, bp512r1, compressed)',
|
||||
'Parse EC Key #2a (SEC1 PEM, secp192r1, compressed)',
|
||||
'Parse EC Key #8a (SEC1 PEM, secp224r1, compressed)',
|
||||
'Parse EC Key #9a (SEC1 PEM, secp256r1, compressed)',
|
||||
'Parse Public EC Key #2a (RFC 5480, PEM, secp192r1, compressed)',
|
||||
'Parse Public EC Key #3a (RFC 5480, secp224r1, compressed)',
|
||||
'Parse Public EC Key #4a (RFC 5480, secp256r1, compressed)',
|
||||
'Parse Public EC Key #5a (RFC 5480, secp384r1, compressed)',
|
||||
'Parse Public EC Key #6a (RFC 5480, secp521r1, compressed)',
|
||||
'Parse Public EC Key #7a (RFC 5480, brainpoolP256r1, compressed)',
|
||||
'Parse Public EC Key #8a (RFC 5480, brainpoolP384r1, compressed)',
|
||||
'Parse Public EC Key #9a (RFC 5480, brainpoolP512r1, compressed)',
|
||||
],
|
||||
}
|
||||
}
|
||||
|
@ -99,7 +99,18 @@ int mbedtls_test_read_mpi_modulus(mbedtls_mpi_mod_modulus *N,
|
||||
if (ret != 0) {
|
||||
return ret;
|
||||
}
|
||||
ret = mbedtls_mpi_mod_modulus_setup(N, p, limbs, int_rep);
|
||||
|
||||
switch (int_rep) {
|
||||
case MBEDTLS_MPI_MOD_REP_MONTGOMERY:
|
||||
ret = mbedtls_mpi_mod_modulus_setup(N, p, limbs);
|
||||
break;
|
||||
case MBEDTLS_MPI_MOD_REP_OPT_RED:
|
||||
ret = mbedtls_mpi_mod_optred_modulus_setup(N, p, limbs, NULL);
|
||||
break;
|
||||
default:
|
||||
ret = MBEDTLS_ERR_MPI_BAD_INPUT_DATA;
|
||||
break;
|
||||
}
|
||||
if (ret != 0) {
|
||||
mbedtls_free(p);
|
||||
}
|
||||
|
@ -10,21 +10,6 @@
|
||||
ASSERT_COMPARE((a).p, (a).limbs * sizeof(mbedtls_mpi_uint), \
|
||||
(b).p, (b).limbs * sizeof(mbedtls_mpi_uint))
|
||||
|
||||
static int test_read_modulus(mbedtls_mpi_mod_modulus *m,
|
||||
mbedtls_mpi_mod_rep_selector int_rep,
|
||||
char *input)
|
||||
{
|
||||
mbedtls_mpi_uint *p = NULL;
|
||||
size_t limbs;
|
||||
|
||||
int ret = mbedtls_test_read_mpi_core(&p, &limbs, input);
|
||||
if (ret != 0) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
return mbedtls_mpi_mod_modulus_setup(m, p, limbs, int_rep);
|
||||
}
|
||||
|
||||
static int test_read_residue(mbedtls_mpi_mod_residue *r,
|
||||
const mbedtls_mpi_mod_modulus *m,
|
||||
char *input,
|
||||
@ -65,7 +50,19 @@ void mpi_mod_setup(int int_rep, int iret)
|
||||
memset(mp, 0xFF, sizeof(mp));
|
||||
|
||||
mbedtls_mpi_mod_modulus_init(&m);
|
||||
ret = mbedtls_mpi_mod_modulus_setup(&m, mp, MLIMBS, int_rep);
|
||||
|
||||
switch (int_rep) {
|
||||
case MBEDTLS_MPI_MOD_REP_MONTGOMERY:
|
||||
ret = mbedtls_mpi_mod_modulus_setup(&m, mp, MLIMBS);
|
||||
break;
|
||||
case MBEDTLS_MPI_MOD_REP_OPT_RED:
|
||||
ret = mbedtls_mpi_mod_optred_modulus_setup(&m, mp, MLIMBS, NULL);
|
||||
break;
|
||||
default:
|
||||
ret = MBEDTLS_ERR_MPI_BAD_INPUT_DATA;
|
||||
break;
|
||||
}
|
||||
|
||||
TEST_EQUAL(ret, iret);
|
||||
|
||||
/* Only test if the constants have been set-up */
|
||||
@ -112,8 +109,8 @@ void mpi_mod_mul(char *input_A,
|
||||
mbedtls_mpi_mod_modulus m;
|
||||
mbedtls_mpi_mod_modulus_init(&m);
|
||||
|
||||
TEST_EQUAL(test_read_modulus(&m, MBEDTLS_MPI_MOD_REP_MONTGOMERY, input_N),
|
||||
0);
|
||||
TEST_EQUAL(mbedtls_test_read_mpi_modulus(&m, input_N,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY), 0);
|
||||
|
||||
TEST_EQUAL(test_read_residue(&rA, &m, input_A, 0), 0);
|
||||
TEST_EQUAL(test_read_residue(&rB, &m, input_B, 0), 0);
|
||||
@ -200,8 +197,8 @@ void mpi_mod_mul_neg(char *input_A,
|
||||
mbedtls_mpi_mod_modulus fake_m;
|
||||
mbedtls_mpi_mod_modulus_init(&fake_m);
|
||||
|
||||
TEST_EQUAL(test_read_modulus(&m, MBEDTLS_MPI_MOD_REP_MONTGOMERY, input_N),
|
||||
0);
|
||||
TEST_EQUAL(mbedtls_test_read_mpi_modulus(&m, input_N,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY), 0);
|
||||
|
||||
TEST_EQUAL(test_read_residue(&rA, &m, input_A, 1), 0);
|
||||
TEST_EQUAL(test_read_residue(&rB, &m, input_B, 1), 0);
|
||||
@ -247,7 +244,8 @@ void mpi_mod_sub(char *input_N,
|
||||
mbedtls_mpi_mod_modulus_init(&m);
|
||||
|
||||
TEST_EQUAL(0,
|
||||
test_read_modulus(&m, MBEDTLS_MPI_MOD_REP_MONTGOMERY, input_N));
|
||||
mbedtls_test_read_mpi_modulus(&m, input_N,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY));
|
||||
|
||||
/* test_read_residue() normally checks that inputs have the same number of
|
||||
* limbs as the modulus. For negative testing we can ask it to skip this
|
||||
@ -348,7 +346,8 @@ void mpi_mod_inv_mont(char *input_N,
|
||||
mbedtls_mpi_mod_modulus_init(&N);
|
||||
|
||||
TEST_EQUAL(0,
|
||||
test_read_modulus(&N, MBEDTLS_MPI_MOD_REP_MONTGOMERY, input_N));
|
||||
mbedtls_test_read_mpi_modulus(&N, input_N,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY));
|
||||
|
||||
/* test_read_residue() normally checks that inputs have the same number of
|
||||
* limbs as the modulus. For negative testing we can ask it to skip this
|
||||
@ -397,7 +396,8 @@ void mpi_mod_inv_non_mont(char *input_N,
|
||||
mbedtls_mpi_mod_modulus_init(&N);
|
||||
|
||||
TEST_EQUAL(0,
|
||||
test_read_modulus(&N, MBEDTLS_MPI_MOD_REP_OPT_RED, input_N));
|
||||
mbedtls_test_read_mpi_modulus(&N, input_N,
|
||||
MBEDTLS_MPI_MOD_REP_OPT_RED));
|
||||
|
||||
/* test_read_residue() normally checks that inputs have the same number of
|
||||
* limbs as the modulus. For negative testing we can ask it to skip this
|
||||
@ -447,7 +447,8 @@ void mpi_mod_add(char *input_N,
|
||||
mbedtls_mpi_mod_modulus_init(&m);
|
||||
|
||||
TEST_EQUAL(0,
|
||||
test_read_modulus(&m, MBEDTLS_MPI_MOD_REP_MONTGOMERY, input_N));
|
||||
mbedtls_test_read_mpi_modulus(&m, input_N,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY));
|
||||
|
||||
/* test_read_residue() normally checks that inputs have the same number of
|
||||
* limbs as the modulus. For negative testing we can ask it to skip this
|
||||
@ -550,8 +551,7 @@ void mpi_residue_setup(char *input_N, char *input_R, int ret)
|
||||
TEST_EQUAL(0, mbedtls_test_read_mpi_core(&N, &n_limbs, input_N));
|
||||
TEST_EQUAL(0, mbedtls_test_read_mpi_core(&R, &r_limbs, input_R));
|
||||
|
||||
TEST_EQUAL(0, mbedtls_mpi_mod_modulus_setup(&m, N, n_limbs,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY));
|
||||
TEST_EQUAL(0, mbedtls_mpi_mod_modulus_setup(&m, N, n_limbs));
|
||||
|
||||
TEST_EQUAL(ret, mbedtls_mpi_mod_residue_setup(&r, &m, R, r_limbs));
|
||||
|
||||
@ -592,8 +592,7 @@ void mpi_mod_io_neg(char *input_N, data_t *buf, int ret)
|
||||
mbedtls_mpi_mod_write(&r, &m, buf->x, buf->len, endian));
|
||||
|
||||
/* Set up modulus and test with residue->p == NULL */
|
||||
TEST_EQUAL(0, mbedtls_mpi_mod_modulus_setup(&m, N, n_limbs,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY));
|
||||
TEST_EQUAL(0, mbedtls_mpi_mod_modulus_setup(&m, N, n_limbs));
|
||||
|
||||
TEST_EQUAL(MBEDTLS_ERR_MPI_BAD_INPUT_DATA,
|
||||
mbedtls_mpi_mod_read(&r, &m, buf->x, buf->len, endian));
|
||||
@ -666,8 +665,7 @@ void mpi_mod_io(char *input_N, data_t *input_A, int endian)
|
||||
TEST_LE_U(a_bytes, n_bytes);
|
||||
|
||||
/* Init Structures */
|
||||
TEST_EQUAL(0, mbedtls_mpi_mod_modulus_setup(&m, N, n_limbs,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY));
|
||||
TEST_EQUAL(0, mbedtls_mpi_mod_modulus_setup(&m, N, n_limbs));
|
||||
|
||||
/* Enforcing p_limbs >= m->limbs */
|
||||
TEST_EQUAL(0, mbedtls_mpi_mod_residue_setup(&r, &m, R, n_limbs));
|
||||
|
@ -54,8 +54,7 @@ void mpi_mod_raw_io(data_t *input, int nb_int, int nx_32_int,
|
||||
|
||||
mbedtls_mpi_uint init[sizeof(X) / sizeof(X[0])];
|
||||
memset(init, 0xFF, sizeof(init));
|
||||
int ret = mbedtls_mpi_mod_modulus_setup(&m, init, nx,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY);
|
||||
int ret = mbedtls_mpi_mod_modulus_setup(&m, init, nx);
|
||||
TEST_EQUAL(ret, 0);
|
||||
|
||||
if (iendian == MBEDTLS_MPI_MOD_EXT_REP_INVALID && iret != 0) {
|
||||
@ -137,8 +136,7 @@ void mpi_mod_raw_cond_assign(char *input_X,
|
||||
ASSERT_ALLOC(buff_m, copy_limbs);
|
||||
memset(buff_m, 0xFF, copy_limbs);
|
||||
TEST_EQUAL(mbedtls_mpi_mod_modulus_setup(
|
||||
&m, buff_m, copy_limbs,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY), 0);
|
||||
&m, buff_m, copy_limbs), 0);
|
||||
|
||||
/* condition is false */
|
||||
TEST_CF_SECRET(X, bytes);
|
||||
@ -208,8 +206,7 @@ void mpi_mod_raw_cond_swap(char *input_X,
|
||||
ASSERT_ALLOC(buff_m, copy_limbs);
|
||||
memset(buff_m, 0xFF, copy_limbs);
|
||||
TEST_EQUAL(mbedtls_mpi_mod_modulus_setup(
|
||||
&m, buff_m, copy_limbs,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY), 0);
|
||||
&m, buff_m, copy_limbs), 0);
|
||||
|
||||
ASSERT_ALLOC(X, limbs);
|
||||
memcpy(X, tmp_X, bytes);
|
||||
@ -297,8 +294,7 @@ void mpi_mod_raw_sub(char *input_A,
|
||||
ASSERT_ALLOC(X, limbs);
|
||||
|
||||
TEST_EQUAL(mbedtls_mpi_mod_modulus_setup(
|
||||
&m, N, limbs,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY), 0);
|
||||
&m, N, limbs), 0);
|
||||
|
||||
mbedtls_mpi_mod_raw_sub(X, A, B, &m);
|
||||
ASSERT_COMPARE(X, bytes, res, bytes);
|
||||
@ -368,8 +364,7 @@ void mpi_mod_raw_fix_quasi_reduction(char *input_N,
|
||||
TEST_ASSERT(c || mbedtls_mpi_core_lt_ct(tmp, N, limbs));
|
||||
|
||||
TEST_EQUAL(mbedtls_mpi_mod_modulus_setup(
|
||||
&m, N, limbs,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY), 0);
|
||||
&m, N, limbs), 0);
|
||||
|
||||
mbedtls_mpi_mod_raw_fix_quasi_reduction(X, &m);
|
||||
ASSERT_COMPARE(X, bytes, res, bytes);
|
||||
@ -419,8 +414,7 @@ void mpi_mod_raw_mul(char *input_A,
|
||||
ASSERT_ALLOC(X, limbs);
|
||||
|
||||
TEST_EQUAL(mbedtls_mpi_mod_modulus_setup(
|
||||
&m, N, limbs,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY), 0);
|
||||
&m, N, limbs), 0);
|
||||
|
||||
const size_t limbs_T = limbs * 2 + 1;
|
||||
ASSERT_ALLOC(T, limbs_T);
|
||||
@ -580,9 +574,7 @@ void mpi_mod_raw_add(char *input_N,
|
||||
ASSERT_ALLOC(X, limbs);
|
||||
|
||||
TEST_EQUAL(mbedtls_mpi_mod_modulus_setup(
|
||||
&m, N, limbs,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY
|
||||
), 0);
|
||||
&m, N, limbs), 0);
|
||||
|
||||
/* A + B => Correct result */
|
||||
mbedtls_mpi_mod_raw_add(X, A, B, &m);
|
||||
@ -720,8 +712,7 @@ void mpi_mod_raw_to_mont_rep(char *input_N, char *input_A, char *input_X)
|
||||
size_t limbs = n_limbs;
|
||||
size_t bytes = limbs * sizeof(mbedtls_mpi_uint);
|
||||
|
||||
TEST_EQUAL(0, mbedtls_mpi_mod_modulus_setup(&m, N, n_limbs,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY));
|
||||
TEST_EQUAL(0, mbedtls_mpi_mod_modulus_setup(&m, N, n_limbs));
|
||||
|
||||
/* 1. Test low-level function first */
|
||||
|
||||
@ -785,8 +776,7 @@ void mpi_mod_raw_from_mont_rep(char *input_N, char *input_A, char *input_X)
|
||||
size_t limbs = n_limbs;
|
||||
size_t bytes = limbs * sizeof(mbedtls_mpi_uint);
|
||||
|
||||
TEST_EQUAL(0, mbedtls_mpi_mod_modulus_setup(&m, N, n_limbs,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY));
|
||||
TEST_EQUAL(0, mbedtls_mpi_mod_modulus_setup(&m, N, n_limbs));
|
||||
|
||||
/* 1. Test low-level function first */
|
||||
|
||||
@ -847,8 +837,7 @@ void mpi_mod_raw_neg(char *input_N, char *input_A, char *input_X)
|
||||
ASSERT_ALLOC(R, n_limbs);
|
||||
ASSERT_ALLOC(Z, n_limbs);
|
||||
|
||||
TEST_EQUAL(0, mbedtls_mpi_mod_modulus_setup(&m, N, n_limbs,
|
||||
MBEDTLS_MPI_MOD_REP_MONTGOMERY));
|
||||
TEST_EQUAL(0, mbedtls_mpi_mod_modulus_setup(&m, N, n_limbs));
|
||||
|
||||
/* Neg( A == 0 ) => Zero result */
|
||||
mbedtls_mpi_mod_raw_neg(R, Z, &m);
|
||||
|
@ -1101,6 +1101,10 @@ ecp_mul_inv #18 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP256R1)
|
||||
depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED
|
||||
ecp_mod_mul_inv:"8d9454c7494b6e08d068391c811cb23cbe9318246a6c021b0018745eb6918751":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #18.1 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP256R1)
|
||||
depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED
|
||||
ecp_mod_mul_inv:"a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5376":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #19 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP256R1)
|
||||
depends_on:MBEDTLS_ECP_DP_BP256R1_ENABLED
|
||||
ecp_mod_mul_inv:"3aff86b1ee706d38e4995b76f6433d9173c5d3ec19b43ff0a3d53ac20965c911":MBEDTLS_ECP_DP_BP256R1:MBEDTLS_ECP_MOD_SCALAR
|
||||
@ -1125,6 +1129,10 @@ ecp_mul_inv #24 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP384R1)
|
||||
depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED
|
||||
ecp_mod_mul_inv:"80acca473c3fcee61d13a0a766ed0dcd5f50277f576ff6f3461664d436e2054ad7ecc8b7c0a9424fbda1d431c540c05a":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #24.1 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP384R1)
|
||||
depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED
|
||||
ecp_mod_mul_inv:"8cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec52":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #25 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP384R1)
|
||||
depends_on:MBEDTLS_ECP_DP_BP384R1_ENABLED
|
||||
ecp_mod_mul_inv:"371851bd69a5a1734b195c6ad6b041f51d94718cb437ab4a0a14ee5fa5fccd29328f3e77bfa2e4c58195ccb55cdc6a4":MBEDTLS_ECP_DP_BP384R1:MBEDTLS_ECP_MOD_SCALAR
|
||||
@ -1149,6 +1157,10 @@ ecp_mul_inv #30 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP512R1)
|
||||
depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||
ecp_mod_mul_inv:"8be202ecb80ae3f6fe07a17b03c14997668b37d029d38943245c8a6cd1cbce3d57cfc673886a22db7ab8686570881a5dc1d9855aa6618c52df55a04510e00bba":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #30.1 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_BP512R1)
|
||||
depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||
ecp_mod_mul_inv:"aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f2":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #31 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_BP512R1)
|
||||
depends_on:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||
ecp_mod_mul_inv:"572a5522bc45566df4c7575b91fdbc74975fd59380339b5aa23cbce2204744793ca3255705f5d9ba48335f36baf462010680f1e35cca26468d7d8f4223988189":MBEDTLS_ECP_DP_BP512R1:MBEDTLS_ECP_MOD_SCALAR
|
||||
@ -1235,6 +1247,177 @@ ecp_mul_inv #48 MBEDTLS_ECP_MOD_SCALAR(MBEDTLS_ECP_DP_CURVE448)
|
||||
depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
ecp_mod_mul_inv:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff01243a939d867d7e0a75a8568d4d66de88f3ecc1ad37f91a8f9d7d70":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_SCALAR
|
||||
|
||||
ecp_mul_inv #49 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP192R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
ecp_mod_mul_inv:"0000000000000000000000000000152d02c7e14af67fe0bf":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #50 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP192R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
ecp_mod_mul_inv:"4acca2d7100bad687080217babfb490d23dd6460a0007f24":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #51 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP192R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
ecp_mod_mul_inv:"c4fd9a06df9b4efa94531578af8b5886ec0ada82884199f7":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #51.1 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP192R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
ecp_mod_mul_inv:"fffffffffffffffffffffffffffffffefffffffffffffffe":MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #52 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP224R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
||||
ecp_mod_mul_inv:"0f9c4728bef9fba3e7d856a8e2ff62f20c2a57bf64f6d707f0829a8ff":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #53 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP224R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
||||
ecp_mod_mul_inv:"0cee8071ade3e016fd47627782f6543814dd6ab7e6f432679ddacf9ed":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #54 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP224R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
||||
ecp_mod_mul_inv:"00326258467dcbf4d1ab1665a4c5036cb35f4c9231199b58166b3966c6":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #54.1 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP224R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
||||
ecp_mod_mul_inv:"00ffffffffffffffffffffffffffffffff000000000000000000000000":MBEDTLS_ECP_DP_SECP224R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #55 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP256R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
ecp_mod_mul_inv:"c36eadeab80f149cd51a1ed6311270ae2e4acc6734e787135f499c3a97f1edc3":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #56 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP256R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
ecp_mod_mul_inv:"e384042f3130be8a796b221724cf1127a44290804cfbeb7fb6f57142a2a5cddd":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #57 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP256R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
ecp_mod_mul_inv:"f1d356376f03b5dbf0fd08bde5c4293115f7c7911f7a3ec3f90557602eb20147":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #57.1 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP256R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
ecp_mod_mul_inv:"ffffffff00000001000000000000000000000000fffffffffffffffffffffffe":MBEDTLS_ECP_DP_SECP256R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #58 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP384R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED
|
||||
ecp_mod_mul_inv:"a3137cd9b0c9e75a871f92e3ab6b284069ee06cd9c0afb2368fd8d381afcfecc553cb6b3f29216038d268a8d8fcd00f7":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #59 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP384R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED
|
||||
ecp_mod_mul_inv:"a340ca2e1f39f89261f20a23881cde271e36b32add90cbc1801d2375d6db664df297df2364aaafbb9ba3d4672e4fd022":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #60 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP384R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED
|
||||
ecp_mod_mul_inv:"491b1d169c9262fd737847c13bb7370d91825fe985cfa000d4b9bd3c22e7b63016122c53156fae4757943a819a1ced6d":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #60.1 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP384R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP384R1_ENABLED
|
||||
ecp_mod_mul_inv:"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe":MBEDTLS_ECP_DP_SECP384R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #61 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP521R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
ecp_mod_mul_inv:"1477156c589f498b61beb35f57662410d8821f3a1ee4a5968a8009618dbe4afda408809822eb0e994fbf9da1659c1ea21b151db97cd1f1567fa4b9327967e0aa591":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #62 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP521R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
ecp_mod_mul_inv:"158dd0fdd801513590d221009f2b6c212f2b30214cc3b1f80aaf9142dc9f328c8e2b0af83e1acdb102d85f287d77188c2b8e7911cf9452f5014966f28da330e1fa6":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #63 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP521R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
ecp_mod_mul_inv:"1e53d580521a1cff4cd72576c13fecb2cbcf39453f2b437f0c8dc78d7982a37749f099942ce693751ec43407c3acf46315132ea2a9ae5fa9253408da2375d2b58fc":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #63.1 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP521R1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
ecp_mod_mul_inv:"1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe":MBEDTLS_ECP_DP_SECP521R1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #64 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_CURVE25519)
|
||||
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
ecp_mod_mul_inv:"1000000000000000000000000000000014def9dea2079cd65812631a5cf5d3ed":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #65 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_CURVE25519)
|
||||
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
ecp_mod_mul_inv:"1000000000000000000000000000000010caf49570936f75d70f03efac6c1c19":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #66 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_CURVE25519)
|
||||
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
ecp_mod_mul_inv:"468de1bfdbb20b67371bc5ad0f2bc3e70705b6d85c14ad75daafdbd1502cfd1":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #66.1 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_CURVE25519)
|
||||
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
ecp_mod_mul_inv:"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec":MBEDTLS_ECP_DP_CURVE25519:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #67 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP192K1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP192K1_ENABLED
|
||||
ecp_mod_mul_inv:"2228b202d612f2e66d8ca00b7e1c19a737ee7db2708d91cd":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #68 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP192K1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP192K1_ENABLED
|
||||
ecp_mod_mul_inv:"40c0451d06b0d622c65b8336c4c9abe8828f6fd5d5c1abde":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #69 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP192K1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP192K1_ENABLED
|
||||
ecp_mod_mul_inv:"d2a10413f48d7bcc18a9b7c53c7914c5302c9c9e48b2eb62":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #69.1 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP192K1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP192K1_ENABLED
|
||||
ecp_mod_mul_inv:"fffffffffffffffffffffffffffffffffffffffeffffee36":MBEDTLS_ECP_DP_SECP192K1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
# For coordinate moduli of secp224K1 the values are selected as one for
|
||||
# modulus - 1, and four random values, generated with
|
||||
# random.getrandbits(224) % modulus with a seed(2, 2).
|
||||
ecp_mul_inv #70 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP224K1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED
|
||||
ecp_mod_mul_inv:"fffffffffffffffffffffffffffffffffffffffffffffffeffffe56c":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #71 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP224K1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED
|
||||
ecp_mod_mul_inv:"15ba2bdd177219d30e7a269fd95bafc8f2a4d27bdcf4bb99f4bea973":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #72 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP224K1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED
|
||||
ecp_mod_mul_inv:"da94e3e8ab73738fcf1822ffbc6887782b491044d5e341245c6e4337":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #73 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP224K1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED
|
||||
ecp_mod_mul_inv:"94c9c9500925e4749b575bd13653f8dd9b1f282e4067c3584ee207f8":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #74 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP224K1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED
|
||||
ecp_mod_mul_inv:"cdbd47d364be8049a372db8f6e405d93ffed9235288bc781ae662675":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #75 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP224K1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP224K1_ENABLED
|
||||
ecp_mod_mul_inv:"8b4f2fc15f3f57ebf30b94fa82523e86feac7eb7dc38f519b91751da":MBEDTLS_ECP_DP_SECP224K1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #76 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP256K1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED
|
||||
ecp_mod_mul_inv:"9fd95fed98cc1c2ef91b5dc02fa84f63597e15a3326c07f2918afb3ffd093343":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #77 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP256K1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED
|
||||
ecp_mod_mul_inv:"5ddbd441c7037e11caaa9878216c5cfeae67864260429eab4529b56c2661f3de":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #78 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP256K1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED
|
||||
ecp_mod_mul_inv:"f8d3f3c02fd712f711d8e30d0d4c142eb106e5f75c25f55b3f983bc5c83c568a":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #78.1 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_SECP256K1)
|
||||
depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED
|
||||
ecp_mod_mul_inv:"fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2e":MBEDTLS_ECP_DP_SECP256K1:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #79 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_CURVE448)
|
||||
depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
ecp_mod_mul_inv:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff11ca23e9c44edb49aed63690216cc2728dc58f552378c292ab5844f3":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #80 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_CURVE448)
|
||||
depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
ecp_mod_mul_inv:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff0169d3f35081924aeaf1beac2f2720557c9bdf6b42cdceb54c6160ba":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #81 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_CURVE448)
|
||||
depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
ecp_mod_mul_inv:"0000000000000003fffffffffffffffffffffffffffffffffffffffffffffffffffffff01243a939d867d7e0a75a8568d4d66de88f3ecc1ad37f91a8f9d7d70":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
ecp_mul_inv #81.1 MBEDTLS_ECP_MOD_COORDINATE(MBEDTLS_ECP_DP_CURVE448)
|
||||
depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
ecp_mod_mul_inv:"000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffe":MBEDTLS_ECP_DP_CURVE448:MBEDTLS_ECP_MOD_COORDINATE
|
||||
|
||||
# The following data was generated using python's standard random library,
|
||||
# initialised with seed(2,2) and random.getrandbits(curve bits). Curve bits are 192,256,384,520.
|
||||
# They must be less than the named curves' modulus. mbedtls_mpi_mod_residue_setup()
|
||||
|
@ -1294,72 +1294,72 @@ void ecp_mod_p_generic_raw(int curve_id,
|
||||
bytes = limbs_N * sizeof(mbedtls_mpi_uint);
|
||||
|
||||
switch (curve_id) {
|
||||
#if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED)
|
||||
#if defined(MBEDTLS_ECP_DP_SECP192R1_ENABLED) && defined(MBEDTLS_ECP_NIST_OPTIM)
|
||||
case MBEDTLS_ECP_DP_SECP192R1:
|
||||
limbs = 2 * limbs_N;
|
||||
limbs = BITS_TO_LIMBS(192) * 2;
|
||||
curve_bits = 192;
|
||||
curve_func = &mbedtls_ecp_mod_p192_raw;
|
||||
break;
|
||||
#endif
|
||||
#if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED)
|
||||
#if defined(MBEDTLS_ECP_DP_SECP224R1_ENABLED) && defined(MBEDTLS_ECP_NIST_OPTIM)
|
||||
case MBEDTLS_ECP_DP_SECP224R1:
|
||||
limbs = 448 / biL;
|
||||
limbs = BITS_TO_LIMBS(224) * 2;
|
||||
curve_bits = 224;
|
||||
curve_func = &mbedtls_ecp_mod_p224_raw;
|
||||
break;
|
||||
#endif
|
||||
#if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED)
|
||||
#if defined(MBEDTLS_ECP_DP_SECP256R1_ENABLED) && defined(MBEDTLS_ECP_NIST_OPTIM)
|
||||
case MBEDTLS_ECP_DP_SECP256R1:
|
||||
limbs = 2 * limbs_N;
|
||||
limbs = BITS_TO_LIMBS(256) * 2;
|
||||
curve_bits = 256;
|
||||
curve_func = &mbedtls_ecp_mod_p256_raw;
|
||||
break;
|
||||
#endif
|
||||
#if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED)
|
||||
#if defined(MBEDTLS_ECP_DP_SECP384R1_ENABLED) && defined(MBEDTLS_ECP_NIST_OPTIM)
|
||||
case MBEDTLS_ECP_DP_SECP384R1:
|
||||
limbs = 2 * limbs_N;
|
||||
limbs = BITS_TO_LIMBS(384) * 2;
|
||||
curve_bits = 384;
|
||||
curve_func = &mbedtls_ecp_mod_p384_raw;
|
||||
break;
|
||||
#endif
|
||||
#if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED)
|
||||
#if defined(MBEDTLS_ECP_DP_SECP521R1_ENABLED) && defined(MBEDTLS_ECP_NIST_OPTIM)
|
||||
case MBEDTLS_ECP_DP_SECP521R1:
|
||||
limbs = 2 * limbs_N;
|
||||
limbs = BITS_TO_LIMBS(522) * 2;
|
||||
curve_bits = 522;
|
||||
curve_func = &mbedtls_ecp_mod_p521_raw;
|
||||
break;
|
||||
#endif
|
||||
#if defined(MBEDTLS_ECP_DP_SECP192K1_ENABLED)
|
||||
case MBEDTLS_ECP_DP_SECP192K1:
|
||||
limbs = 2 * limbs_N;
|
||||
limbs = BITS_TO_LIMBS(192) * 2;
|
||||
curve_bits = 192;
|
||||
curve_func = &mbedtls_ecp_mod_p192k1_raw;
|
||||
break;
|
||||
#endif
|
||||
#if defined(MBEDTLS_ECP_DP_SECP224K1_ENABLED)
|
||||
case MBEDTLS_ECP_DP_SECP224K1:
|
||||
limbs = 448 / biL;
|
||||
limbs = BITS_TO_LIMBS(224) * 2;
|
||||
curve_bits = 224;
|
||||
curve_func = &mbedtls_ecp_mod_p224k1_raw;
|
||||
break;
|
||||
#endif
|
||||
#if defined(MBEDTLS_ECP_DP_SECP256K1_ENABLED)
|
||||
case MBEDTLS_ECP_DP_SECP256K1:
|
||||
limbs = 2 * limbs_N;
|
||||
limbs = BITS_TO_LIMBS(256) * 2;
|
||||
curve_bits = 256;
|
||||
curve_func = &mbedtls_ecp_mod_p256k1_raw;
|
||||
break;
|
||||
#endif
|
||||
#if defined(MBEDTLS_ECP_DP_CURVE25519_ENABLED)
|
||||
case MBEDTLS_ECP_DP_CURVE25519:
|
||||
limbs = 2 * limbs_N;
|
||||
limbs = BITS_TO_LIMBS(255) * 2;
|
||||
curve_bits = 255;
|
||||
curve_func = &mbedtls_ecp_mod_p255_raw;
|
||||
break;
|
||||
#endif
|
||||
#if defined(MBEDTLS_ECP_DP_CURVE448_ENABLED)
|
||||
case MBEDTLS_ECP_DP_CURVE448:
|
||||
limbs = 2 * limbs_N;
|
||||
limbs = BITS_TO_LIMBS(448) * 2;
|
||||
curve_bits = 448;
|
||||
curve_func = &mbedtls_ecp_mod_p448_raw;
|
||||
break;
|
||||
@ -1373,8 +1373,7 @@ void ecp_mod_p_generic_raw(int curve_id,
|
||||
TEST_EQUAL(limbs_res, limbs_N);
|
||||
|
||||
TEST_EQUAL(mbedtls_mpi_mod_modulus_setup(
|
||||
&m, N, limbs_N,
|
||||
MBEDTLS_MPI_MOD_REP_OPT_RED), 0);
|
||||
&m, N, limbs_N), 0);
|
||||
|
||||
TEST_EQUAL((*curve_func)(X, limbs_X), 0);
|
||||
|
||||
@ -1407,16 +1406,18 @@ void ecp_mod_setup(char *input_A, int id, int ctype, int iret)
|
||||
TEST_EQUAL(ret, iret);
|
||||
|
||||
if (ret == 0) {
|
||||
|
||||
TEST_ASSERT(m.int_rep != MBEDTLS_MPI_MOD_REP_INVALID);
|
||||
/* Test for limb sizes */
|
||||
TEST_EQUAL(m.limbs, p_limbs);
|
||||
bytes = p_limbs * sizeof(mbedtls_mpi_uint);
|
||||
|
||||
/* Test for validity of moduli by the presence of Montgomery consts */
|
||||
|
||||
TEST_ASSERT(m.rep.mont.mm != 0);
|
||||
TEST_ASSERT(m.rep.mont.rr != NULL);
|
||||
|
||||
if (m.int_rep == MBEDTLS_MPI_MOD_REP_MONTGOMERY) {
|
||||
/* Test for validity of moduli by the presence of Montgomery consts */
|
||||
TEST_ASSERT(m.rep.mont.mm != 0);
|
||||
TEST_ASSERT(m.rep.mont.rr != NULL);
|
||||
} else {
|
||||
TEST_ASSERT(m.rep.ored.modp != NULL);
|
||||
}
|
||||
|
||||
/* Compare output byte-by-byte */
|
||||
ASSERT_COMPARE(p, bytes, m.p, bytes);
|
||||
|
@ -13,19 +13,19 @@ depends_on:MBEDTLS_RSA_C:MBEDTLS_GENPRIME
|
||||
pk_utils:MBEDTLS_PK_RSA:512:512:64:"RSA"
|
||||
|
||||
PK utils: ECKEY SECP192R1
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
pk_utils:MBEDTLS_PK_ECKEY:MBEDTLS_ECP_DP_SECP192R1:192:24:"EC"
|
||||
|
||||
PK utils: ECKEY_DH SECP192R1
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
pk_utils:MBEDTLS_PK_ECKEY_DH:MBEDTLS_ECP_DP_SECP192R1:192:24:"EC_DH"
|
||||
|
||||
PK utils: ECKEY_DH Curve25519
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
pk_utils:MBEDTLS_PK_ECKEY_DH:MBEDTLS_ECP_DP_CURVE25519:255:32:"EC_DH"
|
||||
|
||||
PK utils: ECKEY_DH Curve448
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
pk_utils:MBEDTLS_PK_ECKEY_DH:MBEDTLS_ECP_DP_CURVE448:448:56:"EC_DH"
|
||||
|
||||
PK utils: ECDSA SECP192R1
|
||||
@ -289,11 +289,11 @@ depends_on:MBEDTLS_RSA_C:MBEDTLS_GENPRIME
|
||||
pk_can_do_ext:1:PSA_KEY_TYPE_RSA_KEY_PAIR:PSA_KEY_USAGE_SIGN_HASH:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_ANY_HASH):PSA_ALG_RSA_PSS(PSA_ALG_ANY_HASH):1024:PSA_ALG_RSA_PKCS1V15_SIGN(PSA_ALG_SHA_256):PSA_KEY_USAGE_SIGN_HASH:1
|
||||
|
||||
PK can do ext: MBEDTLS_PK_ECKEY, check ECDSA(SHA256)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
pk_can_do_ext:0:MBEDTLS_PK_ECKEY:0:0:0:MBEDTLS_ECP_DP_SECP256R1:PSA_ALG_ECDSA(PSA_ALG_SHA_256):PSA_KEY_USAGE_SIGN_HASH:1
|
||||
|
||||
PK can do ext: MBEDTLS_PK_ECKEY, check ECDH
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
pk_can_do_ext:0:MBEDTLS_PK_ECKEY:0:0:0:MBEDTLS_ECP_DP_SECP256R1:PSA_ALG_ECDH:PSA_KEY_USAGE_DERIVE:1
|
||||
|
||||
PK can do ext: MBEDTLS_PK_RSA, check RSA_PKCS1V15_SIGN(SHA256)
|
||||
@ -397,7 +397,7 @@ depends_on:MBEDTLS_PK_CAN_ECDSA_VERIFY:MBEDTLS_PK_CAN_ECDSA_SIGN:MBEDTLS_ECP_DP_
|
||||
pk_sign_verify:MBEDTLS_PK_ECKEY:MBEDTLS_ECP_DP_SECP192R1:0:0
|
||||
|
||||
EC_DH (no) sign-verify: SECP192R1
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
pk_sign_verify:MBEDTLS_PK_ECKEY_DH:MBEDTLS_ECP_DP_SECP192R1:MBEDTLS_ERR_PK_TYPE_MISMATCH:MBEDTLS_ERR_PK_TYPE_MISMATCH
|
||||
|
||||
RSA sign-verify
|
||||
@ -425,11 +425,11 @@ depends_on:MBEDTLS_PKCS1_V15
|
||||
pk_wrap_rsa_decrypt_test_vec:"a42eda41e56235e666e7faaa77100197f657288a1bf183e4820f0c37ce2c456b960278d6003e0bbcd4be4a969f8e8fd9231e1f492414f00ed09844994c86ec32db7cde3bec7f0c3dbf6ae55baeb2712fa609f5fc3207a824eb3dace31849cd6a6084318523912bccb84cf42e3c6d6d1685131d69bb545acec827d2b0dfdd5568b7dcc4f5a11d6916583fefa689d367f8c9e1d95dcd2240895a9470b0c1730f97cd6e8546860bd254801769f54be96e16362ddcbf34d56035028890199e0f48db38642cb66a4181e028a6443a404feb284ce02b4614b683367d40874e505611d23142d49f06feea831d52d347b13610b413c4efc43a6de9f0b08d2a951dc503b6":2048:"e79a373182bfaa722eb035f772ad2a9464bd842de59432c18bbab3a7dfeae318c9b915ee487861ab665a40bd6cda560152578e8579016c929df99fea05b4d64efca1d543850bc8164b40d71ed7f3fa4105df0fb9b9ad2a18ce182c8a4f4f975bea9aa0b9a1438a27a28e97ac8330ef37383414d1bd64607d6979ac050424fd17":"c6749cbb0db8c5a177672d4728a8b22392b2fc4d3b8361d5c0d5055a1b4e46d821f757c24eef2a51c561941b93b3ace7340074c058c9bb48e7e7414f42c41da4cccb5c2ba91deb30c586b7fb18af12a52995592ad139d3be429add6547e044becedaf31fa3b39421e24ee034fbf367d11f6b8f88ee483d163b431e1654ad3e89":"b38ac65c8141f7f5c96e14470e851936a67bf94cc6821a39ac12c05f7c0b06d9e6ddba2224703b02e25f31452f9c4a8417b62675fdc6df46b94813bc7b9769a892c482b830bfe0ad42e46668ace68903617faf6681f4babf1cc8e4b0420d3c7f61dc45434c6b54e2c3ee0fc07908509d79c9826e673bf8363255adb0add2401039a7bcd1b4ecf0fbe6ec8369d2da486eec59559dd1d54c9b24190965eafbdab203b35255765261cd0909acf93c3b8b8428cbb448de4715d1b813d0c94829c229543d391ce0adab5351f97a3810c1f73d7b1458b97daed4209c50e16d064d2d5bfda8c23893d755222793146d0a78c3d64f35549141486c3b0961a7b4c1a2034f":"3":"4E636AF98E40F3ADCFCCB698F4E80B9F":MBEDTLS_ERR_RSA_INVALID_PADDING
|
||||
|
||||
EC nocrypt
|
||||
depends_on:MBEDTLS_ECP_LIGHT
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS
|
||||
pk_ec_nocrypt:MBEDTLS_PK_ECKEY
|
||||
|
||||
EC-DH nocrypt
|
||||
depends_on:MBEDTLS_ECP_LIGHT
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS
|
||||
pk_ec_nocrypt:MBEDTLS_PK_ECKEY_DH
|
||||
|
||||
ECDSA nocrypt
|
||||
@ -525,11 +525,11 @@ depends_on:MBEDTLS_PKCS1_V21:MBEDTLS_MD_CAN_SHA256
|
||||
pk_rsa_verify_ext_test_vec:"ae6e43dd387c25741e42fc3570cdfc52e4f51a2343294f3b677dfe01cd5339f6":MBEDTLS_MD_SHA256:1024:"00dd118a9f99bab068ca2aea3b6a6d5997ed4ec954e40deecea07da01eaae80ec2bb1340db8a128e891324a5c5f5fad8f590d7c8cacbc5fe931dafda1223735279461abaa0572b761631b3a8afe7389b088b63993a0a25ee45d21858bab9931aedd4589a631b37fcf714089f856549f359326dd1e0e86dde52ed66b4a90bda4095":"010001":"0d2bdb0456a3d651d5bd48a4204493898f72cf1aaddd71387cc058bc3f4c235ea6be4010fd61b28e1fbb275462b53775c04be9022d38b6a2e0387dddba86a3f8554d2858044a59fddbd594753fc056fe33c8daddb85dc70d164690b1182209ff84824e0be10e35c379f2f378bf176a9f7cb94d95e44d90276a298c8810f741c9":MBEDTLS_PK_RSASSA_PSS:MBEDTLS_MD_SHA256:94:129:MBEDTLS_ERR_RSA_VERIFY_FAILED
|
||||
|
||||
Check pair #1 (EC, OK)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_PEM_PARSE_C
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_PEM_PARSE_C
|
||||
mbedtls_pk_check_pair:"data_files/ec_256_pub.pem":"data_files/ec_256_prv.pem":0
|
||||
|
||||
Check pair #2 (EC, bad)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_PEM_PARSE_C
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_PEM_PARSE_C
|
||||
mbedtls_pk_check_pair:"data_files/ec_256_pub.pem":"data_files/server5.key":MBEDTLS_ERR_ECP_BAD_INPUT_DATA
|
||||
|
||||
Check pair #3 (RSA, OK)
|
||||
@ -541,7 +541,7 @@ depends_on:MBEDTLS_RSA_C:MBEDTLS_PKCS1_V15:MBEDTLS_PEM_PARSE_C
|
||||
mbedtls_pk_check_pair:"data_files/server1.pubkey":"data_files/server2.key":MBEDTLS_ERR_RSA_KEY_CHECK_FAILED
|
||||
|
||||
Check pair #5 (RSA vs EC)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PEM_PARSE_C
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_SECP256R1_ENABLED:MBEDTLS_RSA_C:MBEDTLS_PEM_PARSE_C
|
||||
mbedtls_pk_check_pair:"data_files/ec_256_pub.pem":"data_files/server1.key":MBEDTLS_ERR_PK_TYPE_MISMATCH
|
||||
|
||||
RSA hash_len overflow (size_t vs unsigned int)
|
||||
|
@ -94,7 +94,7 @@ static int pk_genkey(mbedtls_pk_context *pk, int parameter)
|
||||
parameter, 3);
|
||||
}
|
||||
#endif
|
||||
#if defined(MBEDTLS_ECP_LIGHT)
|
||||
#if defined(MBEDTLS_PK_HAVE_ECC_KEYS)
|
||||
if (mbedtls_pk_get_type(pk) == MBEDTLS_PK_ECKEY ||
|
||||
mbedtls_pk_get_type(pk) == MBEDTLS_PK_ECKEY_DH ||
|
||||
mbedtls_pk_get_type(pk) == MBEDTLS_PK_ECDSA) {
|
||||
@ -112,25 +112,16 @@ static int pk_genkey(mbedtls_pk_context *pk, int parameter)
|
||||
#endif /* MBEDTLS_ECP_C */
|
||||
|
||||
#if defined(MBEDTLS_PK_USE_PSA_EC_DATA)
|
||||
mbedtls_ecp_group grp;
|
||||
/* Duplicating the mbedtls_ecp_group_load call to make this part
|
||||
* more future future proof for when ECP_C will not be defined. */
|
||||
mbedtls_ecp_group_init(&grp);
|
||||
ret = mbedtls_ecp_group_load(&grp, parameter);
|
||||
ret = pk_genkey_ec(pk, parameter);
|
||||
if (ret != 0) {
|
||||
return ret;
|
||||
}
|
||||
ret = pk_genkey_ec(pk, grp.id);
|
||||
if (ret != 0) {
|
||||
return ret;
|
||||
}
|
||||
mbedtls_ecp_group_free(&grp);
|
||||
|
||||
return 0;
|
||||
#endif /* MBEDTLS_PK_USE_PSA_EC_DATA */
|
||||
|
||||
}
|
||||
#endif /* MBEDTLS_ECP_LIGHT */
|
||||
#endif /* MBEDTLS_PK_HAVE_ECC_KEYS */
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -737,15 +728,10 @@ void pk_ec_test_vec(int type, int id, data_t *key, data_t *hash,
|
||||
|
||||
TEST_ASSERT(mbedtls_pk_can_do(&pk, MBEDTLS_PK_ECDSA));
|
||||
#if defined(MBEDTLS_PK_USE_PSA_EC_DATA)
|
||||
mbedtls_ecp_keypair ecp;
|
||||
mbedtls_ecp_keypair_init(&ecp);
|
||||
|
||||
TEST_ASSERT(mbedtls_ecp_group_load(&ecp.grp, id) == 0);
|
||||
TEST_ASSERT(mbedtls_ecp_point_read_binary(&ecp.grp, &ecp.Q,
|
||||
key->x, key->len) == 0);
|
||||
TEST_ASSERT(mbedtls_pk_update_public_key_from_keypair(&pk, &ecp) == 0);
|
||||
|
||||
mbedtls_ecp_keypair_free(&ecp);
|
||||
TEST_ASSERT(key->len <= MBEDTLS_PK_MAX_EC_PUBKEY_RAW_LEN);
|
||||
memcpy(pk.pub_raw, key->x, key->len);
|
||||
pk.ec_family = mbedtls_ecc_group_to_psa(id, &(pk.ec_bits));
|
||||
pk.pub_raw_len = key->len;
|
||||
#else
|
||||
mbedtls_ecp_keypair *eckey = (mbedtls_ecp_keypair *) mbedtls_pk_ec(pk);
|
||||
|
||||
|
@ -905,11 +905,11 @@ Parse Public RSA Key #4 (PKCS#1 wrapped, DER)
|
||||
pk_parse_public_keyfile_rsa:"data_files/rsa_pkcs1_2048_public.der":0
|
||||
|
||||
Parse Public EC Key #1 (RFC 5480, DER)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_pub.der":0
|
||||
|
||||
Parse Public EC Key #2 (RFC 5480, PEM)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_pub.pem":0
|
||||
|
||||
Parse Public EC Key #2a (RFC 5480, PEM, secp192r1, compressed)
|
||||
@ -917,7 +917,7 @@ depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_PK_PARSE_EC_COMPRESSED:MBEDTLS_ECP_DP_SEC
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_pub.comp.pem":0
|
||||
|
||||
Parse Public EC Key #3 (RFC 5480, secp224r1)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_224_pub.pem":0
|
||||
|
||||
# Compressed points parsing does not support MBEDTLS_ECP_DP_SECP224R1 and
|
||||
@ -927,7 +927,7 @@ depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_PK_PARSE_EC_COMPRESSED:MBEDTLS_ECP_DP_SEC
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_224_pub.comp.pem":MBEDTLS_ERR_ECP_FEATURE_UNAVAILABLE
|
||||
|
||||
Parse Public EC Key #4 (RFC 5480, secp256r1)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_256_pub.pem":0
|
||||
|
||||
Parse Public EC Key #4a (RFC 5480, secp256r1, compressed)
|
||||
@ -935,7 +935,7 @@ depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_PK_PARSE_EC_COMPRESSED:MBEDTLS_ECP_DP_SEC
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_256_pub.comp.pem":0
|
||||
|
||||
Parse Public EC Key #5 (RFC 5480, secp384r1)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP384R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_384_pub.pem":0
|
||||
|
||||
Parse Public EC Key #5a (RFC 5480, secp384r1, compressed)
|
||||
@ -943,7 +943,7 @@ depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_PK_PARSE_EC_COMPRESSED:MBEDTLS_ECP_DP_SEC
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_384_pub.comp.pem":0
|
||||
|
||||
Parse Public EC Key #6 (RFC 5480, secp521r1)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_521_pub.pem":0
|
||||
|
||||
Parse Public EC Key #6a (RFC 5480, secp521r1, compressed)
|
||||
@ -951,7 +951,7 @@ depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_PK_PARSE_EC_COMPRESSED:MBEDTLS_ECP_DP_SEC
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_521_pub.comp.pem":0
|
||||
|
||||
Parse Public EC Key #7 (RFC 5480, brainpoolP256r1)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_BP256R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_BP256R1_ENABLED
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_bp256_pub.pem":0
|
||||
|
||||
Parse Public EC Key #7a (RFC 5480, brainpoolP256r1, compressed)
|
||||
@ -959,7 +959,7 @@ depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_PK_PARSE_EC_COMPRESSED:MBEDTLS_ECP_DP_BP2
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_bp256_pub.comp.pem":0
|
||||
|
||||
Parse Public EC Key #8 (RFC 5480, brainpoolP384r1)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_BP384R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_BP384R1_ENABLED
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_bp384_pub.pem":0
|
||||
|
||||
Parse Public EC Key #8a (RFC 5480, brainpoolP384r1, compressed)
|
||||
@ -967,7 +967,7 @@ depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_PK_PARSE_EC_COMPRESSED:MBEDTLS_ECP_DP_BP3
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_bp384_pub.comp.pem":0
|
||||
|
||||
Parse Public EC Key #9 (RFC 5480, brainpoolP512r1)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_bp512_pub.pem":0
|
||||
|
||||
Parse Public EC Key #9a (RFC 5480, brainpoolP512r1, compressed)
|
||||
@ -975,27 +975,27 @@ depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_PK_PARSE_EC_COMPRESSED:MBEDTLS_ECP_DP_BP5
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_bp512_pub.comp.pem":0
|
||||
|
||||
Parse Public EC Key #10 (RFC 8410, DER, X25519)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_x25519_pub.der":0
|
||||
|
||||
Parse Public EC Key #11 (RFC 8410, DER, X448)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_x448_pub.der":0
|
||||
|
||||
Parse Public EC Key #12 (RFC 8410, PEM, X25519)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_x25519_pub.pem":0
|
||||
|
||||
Parse Public EC Key #13 (RFC 8410, PEM, X448)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
pk_parse_public_keyfile_ec:"data_files/ec_x448_pub.pem":0
|
||||
|
||||
Parse EC Key #1 (SEC1 DER)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_prv.sec1.der":"NULL":0
|
||||
|
||||
Parse EC Key #2 (SEC1 PEM)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_prv.sec1.pem":"NULL":0
|
||||
|
||||
Parse EC Key #2a (SEC1 PEM, secp192r1, compressed)
|
||||
@ -1003,43 +1003,43 @@ depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_PK_PARSE_EC_COMPRESSED:MBEDTLS_ECP_DP_SEC
|
||||
pk_parse_keyfile_ec:"data_files/ec_prv.sec1.comp.pem":"NULL":0
|
||||
|
||||
Parse EC Key #3 (SEC1 PEM encrypted)
|
||||
depends_on:MBEDTLS_DES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA
|
||||
depends_on:MBEDTLS_DES_C:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_CIPHER_MODE_CBC:MBEDTLS_HAS_MD5_VIA_LOWLEVEL_OR_PSA
|
||||
pk_parse_keyfile_ec:"data_files/ec_prv.sec1.pw.pem":"polar":0
|
||||
|
||||
Parse EC Key #4 (PKCS8 DER)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
depends_on:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_prv.pk8.der":"NULL":0
|
||||
|
||||
Parse EC Key #4a (PKCS8 DER, no public key)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_prv.pk8nopub.der":"NULL":0
|
||||
|
||||
Parse EC Key #4b (PKCS8 DER, no public key, with parameters)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_prv.pk8nopubparam.der":"NULL":0
|
||||
|
||||
Parse EC Key #4c (PKCS8 DER, with parameters)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
depends_on:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_prv.pk8param.der":"NULL":0
|
||||
|
||||
Parse EC Key #5 (PKCS8 PEM)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_prv.pk8.pem":"NULL":0
|
||||
|
||||
Parse EC Key #5a (PKCS8 PEM, no public key)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_prv.pk8nopub.pem":"NULL":0
|
||||
|
||||
Parse EC Key #5b (PKCS8 PEM, no public key, with parameters)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_prv.pk8nopubparam.pem":"NULL":0
|
||||
|
||||
Parse EC Key #5c (PKCS8 PEM, with parameters)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_prv.pk8param.pem":"NULL":0
|
||||
|
||||
Parse EC Key #8 (SEC1 PEM, secp224r1)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP224R1_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_224_prv.pem":"NULL":0
|
||||
|
||||
Parse EC Key #8a (SEC1 PEM, secp224r1, compressed)
|
||||
@ -1047,7 +1047,7 @@ depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_PK_PARSE_EC_COMPRESSED:MBEDTLS_ECP_DP_SEC
|
||||
pk_parse_keyfile_ec:"data_files/ec_224_prv.comp.pem":"NULL":0
|
||||
|
||||
Parse EC Key #9 (SEC1 PEM, secp256r1)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_256_prv.pem":"NULL":0
|
||||
|
||||
Parse EC Key #9a (SEC1 PEM, secp256r1, compressed)
|
||||
@ -1055,7 +1055,7 @@ depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_PK_PARSE_EC_COMPRESSED:MBEDTLS_ECP_DP_SEC
|
||||
pk_parse_keyfile_ec:"data_files/ec_256_prv.comp.pem":"NULL":0
|
||||
|
||||
Parse EC Key #10 (SEC1 PEM, secp384r1)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP384R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP384R1_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_384_prv.pem":"NULL":0
|
||||
|
||||
Parse EC Key #10a (SEC1 PEM, secp384r1, compressed)
|
||||
@ -1063,7 +1063,7 @@ depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_PK_PARSE_EC_COMPRESSED:MBEDTLS_ECP_DP_SEC
|
||||
pk_parse_keyfile_ec:"data_files/ec_384_prv.comp.pem":"NULL":0
|
||||
|
||||
Parse EC Key #11 (SEC1 PEM, secp521r1)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_521_prv.pem":"NULL":0
|
||||
|
||||
Parse EC Key #11a (SEC1 PEM, secp521r1, compressed)
|
||||
@ -1071,7 +1071,7 @@ depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_PK_PARSE_EC_COMPRESSED:MBEDTLS_ECP_DP_SEC
|
||||
pk_parse_keyfile_ec:"data_files/ec_521_prv.comp.pem":"NULL":0
|
||||
|
||||
Parse EC Key #12 (SEC1 PEM, bp256r1)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_BP256R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_BP256R1_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_bp256_prv.pem":"NULL":0
|
||||
|
||||
Parse EC Key #12a (SEC1 PEM, bp256r1, compressed)
|
||||
@ -1079,7 +1079,7 @@ depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_PK_PARSE_EC_COMPRESSED:MBEDTLS_ECP_DP_BP2
|
||||
pk_parse_keyfile_ec:"data_files/ec_bp256_prv.comp.pem":"NULL":0
|
||||
|
||||
Parse EC Key #13 (SEC1 PEM, bp384r1)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_BP384R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_BP384R1_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_bp384_prv.pem":"NULL":0
|
||||
|
||||
Parse EC Key #13a (SEC1 PEM, bp384r1, compressed)
|
||||
@ -1087,7 +1087,7 @@ depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_PK_PARSE_EC_COMPRESSED:MBEDTLS_ECP_DP_BP3
|
||||
pk_parse_keyfile_ec:"data_files/ec_bp384_prv.comp.pem":"NULL":0
|
||||
|
||||
Parse EC Key #14 (SEC1 PEM, bp512r1)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_bp512_prv.pem":"NULL":0
|
||||
|
||||
Parse EC Key #14a (SEC1 PEM, bp512r1, compressed)
|
||||
@ -1099,19 +1099,19 @@ depends_on:MBEDTLS_ECP_DP_SECP256K1_ENABLED:MBEDTLS_PK_PARSE_EC_EXTENDED
|
||||
pk_parse_keyfile_ec:"data_files/ec_prv.specdom.der":"NULL":0
|
||||
|
||||
Parse EC Key #16 (RFC 8410, DER, X25519)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
depends_on:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_x25519_prv.der":"NULL":0
|
||||
|
||||
Parse EC Key #17 (RFC 8410, DER, X448)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
depends_on:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_x448_prv.der":"NULL":0
|
||||
|
||||
Parse EC Key #18 (RFC 8410, PEM, X25519)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_x25519_prv.pem":"NULL":0
|
||||
|
||||
Parse EC Key #19 (RFC 8410, PEM, X448)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
pk_parse_keyfile_ec:"data_files/ec_x448_prv.pem":"NULL":0
|
||||
|
||||
Key ASN1 (No data)
|
||||
@ -1193,7 +1193,7 @@ depends_on:MBEDTLS_RSA_C
|
||||
pk_parse_key:"3063020100021100cc8ab070369ede72920e5a51523c857102030100010211009a6318982a7231de1894c54aa4909201020900f3058fd8dc484d61020900d7770dbd8b78a2110209009471f14c26428401020813425f060c4b7221FF08052b93d01747a87c":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT
|
||||
|
||||
Key ASN1 (ECPrivateKey, empty parameters)
|
||||
depends_on:MBEDTLS_ECP_LIGHT
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS
|
||||
pk_parse_key:"30070201010400a000":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT
|
||||
|
||||
Key ASN1 (OneAsymmetricKey X25519, doesn't match masking requirements, from RFC8410 Appendix A but made into version 0)
|
||||
@ -1201,24 +1201,24 @@ depends_on:MBEDTLS_ECP_C
|
||||
pk_parse_key:"302e020100300506032b656e04220420f8ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT
|
||||
|
||||
Key ASN1 (OneAsymmetricKey X25519, with invalid optional AlgorithIdentifier parameters)
|
||||
depends_on:MBEDTLS_ECP_LIGHT
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS
|
||||
pk_parse_key:"3030020100300706032b656e050004220420b06d829655543a51cba36e53522bc0acfd60af59466555fb3e1e796872ab1a59":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT
|
||||
|
||||
Key ASN1 (OneAsymmetricKey X25519, with NULL private key)
|
||||
depends_on:MBEDTLS_ECP_LIGHT
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS
|
||||
pk_parse_key:"300e020100300506032b656e04020500":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT
|
||||
|
||||
Key ASN1 (OneAsymmetricKey with invalid AlgorithIdentifier)
|
||||
pk_parse_key:"3013020100300a06082b0601040181fd5904020500":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT
|
||||
|
||||
Key ASN1 (OneAsymmetricKey X25519, with unsupported attributes)
|
||||
depends_on:MBEDTLS_ECP_LIGHT
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS
|
||||
pk_parse_key:"304f020100300506032b656e04220420b06d829655543a51cba36e53522bc0acfd60af59466555fb3e1e796872ab1a59a01f301d060a2a864886f70d01090914310f0c0d437572646c6520436861697273":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT
|
||||
|
||||
Key ASN1 (OneAsymmetricKey X25519, unsupported version 2 with public key)
|
||||
depends_on:MBEDTLS_ECP_LIGHT
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS
|
||||
pk_parse_key:"3051020101300506032b656e04220420b06d829655543a51cba36e53522bc0acfd60af59466555fb3e1e796872ab1a598121009bc3b0e93d8233fe6a8ba6138948cc12a91362d5c2ed81584db05ab5419c9d11":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT
|
||||
|
||||
Key ASN1 (OneAsymmetricKey X25519, unsupported version 2 with public key and unsupported attributes)
|
||||
depends_on:MBEDTLS_ECP_LIGHT
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS
|
||||
pk_parse_key:"3072020101300506032b656e04220420b06d829655543a51cba36e53522bc0acfd60af59466555fb3e1e796872ab1a59a01f301d060a2a864886f70d01090914310f0c0d437572646c65204368616972738121009bc3b0e93d8233fe6a8ba6138948cc12a91362d5c2ed81584db05ab5419c9d11":MBEDTLS_ERR_PK_KEY_INVALID_FORMAT
|
||||
|
@ -70,7 +70,7 @@ exit:
|
||||
}
|
||||
/* END_CASE */
|
||||
|
||||
/* BEGIN_CASE depends_on:MBEDTLS_FS_IO:MBEDTLS_ECP_LIGHT */
|
||||
/* BEGIN_CASE depends_on:MBEDTLS_FS_IO:MBEDTLS_PK_HAVE_ECC_KEYS */
|
||||
void pk_parse_public_keyfile_ec(char *key_file, int result)
|
||||
{
|
||||
mbedtls_pk_context ctx;
|
||||
@ -102,7 +102,7 @@ exit:
|
||||
}
|
||||
/* END_CASE */
|
||||
|
||||
/* BEGIN_CASE depends_on:MBEDTLS_FS_IO:MBEDTLS_ECP_LIGHT */
|
||||
/* BEGIN_CASE depends_on:MBEDTLS_FS_IO:MBEDTLS_PK_HAVE_ECC_KEYS */
|
||||
void pk_parse_keyfile_ec(char *key_file, char *password, int result)
|
||||
{
|
||||
mbedtls_pk_context ctx;
|
||||
|
@ -15,43 +15,43 @@ depends_on:MBEDTLS_RSA_C
|
||||
pk_write_pubkey_check:"data_files/rsa4096_pub.der":TEST_DER
|
||||
|
||||
Public key write check EC 192 bits
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_PEM_PARSE_C:MBEDTLS_PEM_WRITE_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_PEM_PARSE_C:MBEDTLS_PEM_WRITE_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
pk_write_pubkey_check:"data_files/ec_pub.pem":TEST_PEM
|
||||
|
||||
Public key write check EC 192 bits (DER)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
pk_write_pubkey_check:"data_files/ec_pub.der":TEST_DER
|
||||
|
||||
Public key write check EC 521 bits
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_PEM_PARSE_C:MBEDTLS_PEM_WRITE_C:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_PEM_PARSE_C:MBEDTLS_PEM_WRITE_C:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
pk_write_pubkey_check:"data_files/ec_521_pub.pem":TEST_PEM
|
||||
|
||||
Public key write check EC 521 bits (DER)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
pk_write_pubkey_check:"data_files/ec_521_pub.der":TEST_DER
|
||||
|
||||
Public key write check EC Brainpool 512 bits
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_PEM_PARSE_C:MBEDTLS_PEM_WRITE_C:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_PEM_PARSE_C:MBEDTLS_PEM_WRITE_C:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||
pk_write_pubkey_check:"data_files/ec_bp512_pub.pem":TEST_PEM
|
||||
|
||||
Public key write check EC Brainpool 512 bits (DER)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||
pk_write_pubkey_check:"data_files/ec_bp512_pub.der":TEST_DER
|
||||
|
||||
Public key write check EC X25519
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_BASE64_C:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_BASE64_C:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
pk_write_pubkey_check:"data_files/ec_x25519_pub.pem":TEST_PEM
|
||||
|
||||
Public key write check EC X25519 (DER)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_BASE64_C:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_BASE64_C:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
pk_write_pubkey_check:"data_files/ec_x25519_pub.der":TEST_DER
|
||||
|
||||
Public key write check EC X448
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_BASE64_C:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_BASE64_C:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
pk_write_pubkey_check:"data_files/ec_x448_pub.pem":TEST_PEM
|
||||
|
||||
Public key write check EC X448 (DER)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_BASE64_C:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_BASE64_C:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
pk_write_pubkey_check:"data_files/ec_x448_pub.der":TEST_DER
|
||||
|
||||
Private key write check RSA
|
||||
@ -71,59 +71,59 @@ depends_on:MBEDTLS_RSA_C
|
||||
pk_write_key_check:"data_files/rsa4096_prv.der":TEST_DER
|
||||
|
||||
Private key write check EC 192 bits
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_PEM_PARSE_C:MBEDTLS_PEM_WRITE_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_PEM_PARSE_C:MBEDTLS_PEM_WRITE_C:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
pk_write_key_check:"data_files/ec_prv.sec1.pem":TEST_PEM
|
||||
|
||||
Private key write check EC 192 bits (DER)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
pk_write_key_check:"data_files/ec_prv.sec1.der":TEST_DER
|
||||
|
||||
Private key write check EC 256 bits (top bit set)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_PEM_PARSE_C:MBEDTLS_PEM_WRITE_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_PEM_PARSE_C:MBEDTLS_PEM_WRITE_C:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
pk_write_key_check:"data_files/ec_256_long_prv.pem":TEST_PEM
|
||||
|
||||
Private key write check EC 256 bits (top bit set) (DER)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_SECP256R1_ENABLED
|
||||
pk_write_key_check:"data_files/ec_256_long_prv.der":TEST_DER
|
||||
|
||||
Private key write check EC 521 bits
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_PEM_PARSE_C:MBEDTLS_PEM_WRITE_C:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_PEM_PARSE_C:MBEDTLS_PEM_WRITE_C:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
pk_write_key_check:"data_files/ec_521_prv.pem":TEST_PEM
|
||||
|
||||
Private key write check EC 521 bits (DER)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
pk_write_key_check:"data_files/ec_521_prv.der":TEST_DER
|
||||
|
||||
Private key write check EC 521 bits (top byte is 0)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_PEM_PARSE_C:MBEDTLS_PEM_WRITE_C:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_PEM_PARSE_C:MBEDTLS_PEM_WRITE_C:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
pk_write_key_check:"data_files/ec_521_short_prv.pem":TEST_PEM
|
||||
|
||||
Private key write check EC 521 bits (top byte is 0) (DER)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
pk_write_key_check:"data_files/ec_521_short_prv.der":TEST_DER
|
||||
|
||||
Private key write check EC Brainpool 512 bits
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_PEM_PARSE_C:MBEDTLS_PEM_WRITE_C:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_PEM_PARSE_C:MBEDTLS_PEM_WRITE_C:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||
pk_write_key_check:"data_files/ec_bp512_prv.pem":TEST_PEM
|
||||
|
||||
Private key write check EC Brainpool 512 bits (DER)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||
pk_write_key_check:"data_files/ec_bp512_prv.der":TEST_DER
|
||||
|
||||
Private key write check EC X25519
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_BASE64_C:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_BASE64_C:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
pk_write_key_check:"data_files/ec_x25519_prv.pem":TEST_PEM
|
||||
|
||||
Private key write check EC X25519 (DER)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_BASE64_C:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_BASE64_C:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
pk_write_key_check:"data_files/ec_x25519_prv.der":TEST_DER
|
||||
|
||||
Private key write check EC X448
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_BASE64_C:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_BASE64_C:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
pk_write_key_check:"data_files/ec_x448_prv.pem":TEST_PEM
|
||||
|
||||
Private key write check EC X448 (DER)
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_BASE64_C:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_BASE64_C:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
pk_write_key_check:"data_files/ec_x448_prv.der":TEST_DER
|
||||
|
||||
Derive public key RSA
|
||||
@ -135,21 +135,21 @@ depends_on:MBEDTLS_RSA_C
|
||||
pk_write_public_from_private:"data_files/rsa4096_prv.der":"data_files/rsa4096_pub.der"
|
||||
|
||||
Derive public key EC 192 bits
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_SECP192R1_ENABLED
|
||||
pk_write_public_from_private:"data_files/ec_prv.sec1.der":"data_files/ec_pub.der"
|
||||
|
||||
Derive public key EC 521 bits
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_SECP521R1_ENABLED
|
||||
pk_write_public_from_private:"data_files/ec_521_prv.der":"data_files/ec_521_pub.der"
|
||||
|
||||
Derive public key EC Brainpool 512 bits
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_BP512R1_ENABLED
|
||||
pk_write_public_from_private:"data_files/ec_bp512_prv.der":"data_files/ec_bp512_pub.der"
|
||||
|
||||
Derive public key EC X25519
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_CURVE25519_ENABLED
|
||||
pk_write_public_from_private:"data_files/ec_x25519_prv.der":"data_files/ec_x25519_pub.der"
|
||||
|
||||
Derive public key EC X448
|
||||
depends_on:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
depends_on:MBEDTLS_PK_HAVE_ECC_KEYS:MBEDTLS_ECP_DP_CURVE448_ENABLED
|
||||
pk_write_public_from_private:"data_files/ec_x448_prv.der":"data_files/ec_x448_pub.der"
|
||||
|
@ -3127,8 +3127,10 @@ void pake_operations(data_t *pw_data, int forced_status_setup_arg, int forced_st
|
||||
PSA_SUCCESS);
|
||||
|
||||
/* Simulate that we are ready to get implicit key. */
|
||||
operation.computation_stage.jpake.input_step = PSA_PAKE_STEP_DERIVE;
|
||||
operation.computation_stage.jpake.output_step = PSA_PAKE_STEP_DERIVE;
|
||||
operation.computation_stage.jpake.round = PSA_JPAKE_FINISHED;
|
||||
operation.computation_stage.jpake.inputs = 0;
|
||||
operation.computation_stage.jpake.outputs = 0;
|
||||
operation.computation_stage.jpake.step = PSA_PAKE_STEP_KEY_SHARE;
|
||||
|
||||
/* --- psa_pake_get_implicit_key --- */
|
||||
mbedtls_test_driver_pake_hooks.forced_status = forced_status;
|
||||
|
@ -132,83 +132,99 @@ ecjpake_rounds:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA
|
||||
|
||||
PSA PAKE: no injected errors
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_NONE:PSA_SUCCESS
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_NONE:PSA_SUCCESS:0
|
||||
|
||||
PSA PAKE: no injected errors, client input first
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:1:"abcdef":ERR_NONE:PSA_SUCCESS
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:1:"abcdef":ERR_NONE:PSA_SUCCESS:0
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_ROUND1_CLIENT_KEY_SHARE_PART1
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_CLIENT_KEY_SHARE_PART1:PSA_ERROR_DATA_INVALID
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_CLIENT_KEY_SHARE_PART1:PSA_ERROR_DATA_INVALID:0
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_ROUND1_CLIENT_ZK_PUBLIC_PART1
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_CLIENT_ZK_PUBLIC_PART1:PSA_ERROR_DATA_INVALID
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_CLIENT_ZK_PUBLIC_PART1:PSA_ERROR_DATA_INVALID:0
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_ROUND1_CLIENT_ZK_PROOF_PART1
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_CLIENT_ZK_PROOF_PART1:PSA_ERROR_DATA_INVALID
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_CLIENT_ZK_PROOF_PART1:PSA_ERROR_DATA_INVALID:0
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_ROUND1_CLIENT_KEY_SHARE_PART2
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_CLIENT_KEY_SHARE_PART2:PSA_ERROR_DATA_INVALID
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_CLIENT_KEY_SHARE_PART2:PSA_ERROR_DATA_INVALID:0
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_ROUND1_CLIENT_ZK_PUBLIC_PART2
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_CLIENT_ZK_PUBLIC_PART2:PSA_ERROR_DATA_INVALID
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_CLIENT_ZK_PUBLIC_PART2:PSA_ERROR_DATA_INVALID:0
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_ROUND1_CLIENT_ZK_PROOF_PART2
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_CLIENT_ZK_PROOF_PART2:PSA_ERROR_DATA_INVALID
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_CLIENT_ZK_PROOF_PART2:PSA_ERROR_DATA_INVALID:0
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_ROUND1_SERVER_KEY_SHARE_PART1
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_SERVER_KEY_SHARE_PART1:PSA_ERROR_DATA_INVALID
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_SERVER_KEY_SHARE_PART1:PSA_ERROR_DATA_INVALID:0
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_ROUND1_SERVER_ZK_PUBLIC_PART1
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_SERVER_ZK_PUBLIC_PART1:PSA_ERROR_DATA_INVALID
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_SERVER_ZK_PUBLIC_PART1:PSA_ERROR_DATA_INVALID:0
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_ROUND1_SERVER_ZK_PROOF_PART1
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_SERVER_ZK_PROOF_PART1:PSA_ERROR_DATA_INVALID
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_SERVER_ZK_PROOF_PART1:PSA_ERROR_DATA_INVALID:0
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_ROUND1_SERVER_KEY_SHARE_PART2
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_SERVER_KEY_SHARE_PART2:PSA_ERROR_DATA_INVALID
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_SERVER_KEY_SHARE_PART2:PSA_ERROR_DATA_INVALID:0
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_ROUND1_SERVER_ZK_PUBLIC_PART2
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_SERVER_ZK_PUBLIC_PART2:PSA_ERROR_DATA_INVALID
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_SERVER_ZK_PUBLIC_PART2:PSA_ERROR_DATA_INVALID:0
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_ROUND1_SERVER_ZK_PROOF_PART2
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_SERVER_ZK_PROOF_PART2:PSA_ERROR_DATA_INVALID
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND1_SERVER_ZK_PROOF_PART2:PSA_ERROR_DATA_INVALID:0
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_ROUND2_CLIENT_KEY_SHARE
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND2_CLIENT_KEY_SHARE:PSA_ERROR_DATA_INVALID
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND2_CLIENT_KEY_SHARE:PSA_ERROR_DATA_INVALID:1
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_ROUND2_CLIENT_ZK_PUBLIC
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND2_CLIENT_ZK_PUBLIC:PSA_ERROR_DATA_INVALID
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND2_CLIENT_ZK_PUBLIC:PSA_ERROR_DATA_INVALID:1
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_ROUND2_CLIENT_ZK_PROOF
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND2_CLIENT_ZK_PROOF:PSA_ERROR_DATA_INVALID
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND2_CLIENT_ZK_PROOF:PSA_ERROR_DATA_INVALID:1
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_ROUND2_SERVER_KEY_SHARE
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND2_SERVER_KEY_SHARE:PSA_ERROR_DATA_INVALID
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND2_SERVER_KEY_SHARE:PSA_ERROR_DATA_INVALID:1
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_ROUND2_SERVER_ZK_PUBLIC
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND2_SERVER_ZK_PUBLIC:PSA_ERROR_DATA_INVALID
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND2_SERVER_ZK_PUBLIC:PSA_ERROR_DATA_INVALID:1
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_ROUND2_SERVER_ZK_PROOF
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND2_SERVER_ZK_PROOF:PSA_ERROR_DATA_INVALID
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_ROUND2_SERVER_ZK_PROOF:PSA_ERROR_DATA_INVALID:1
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_EXTRA_OUTPUT
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_EXTRA_OUTPUT:PSA_ERROR_BAD_STATE:0
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_EXTRA_INPUT
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:1:"abcdef":ERR_INJECT_EXTRA_INPUT:PSA_ERROR_BAD_STATE:0
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_EXTRA_OUTPUT_AT_END
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:1:"abcdef":ERR_INJECT_EXTRA_OUTPUT_AT_END:PSA_ERROR_BAD_STATE:1
|
||||
|
||||
PSA PAKE: inject ERR_INJECT_EXTRA_INPUT_AT_END
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256:PSA_WANT_ALG_SHA_256
|
||||
ecjpake_rounds_inject:PSA_ALG_JPAKE:PSA_PAKE_PRIMITIVE(PSA_PAKE_PRIMITIVE_TYPE_ECC, PSA_ECC_FAMILY_SECP_R1, 256):PSA_ALG_SHA_256:0:"abcdef":ERR_INJECT_EXTRA_INPUT_AT_END:PSA_ERROR_BAD_STATE:1
|
||||
|
||||
PSA PAKE: ecjpake size macros
|
||||
depends_on:MBEDTLS_PSA_WANT_KEY_TYPE_ECC_KEY_PAIR_LEGACY:PSA_WANT_ECC_SECP_R1_256
|
||||
|
@ -2,6 +2,7 @@
|
||||
#include <stdint.h>
|
||||
|
||||
#include "psa/crypto.h"
|
||||
#include "psa/crypto_extra.h"
|
||||
|
||||
typedef enum {
|
||||
ERR_NONE = 0,
|
||||
@ -39,6 +40,10 @@ typedef enum {
|
||||
ERR_INJECT_ROUND2_SERVER_KEY_SHARE,
|
||||
ERR_INJECT_ROUND2_SERVER_ZK_PUBLIC,
|
||||
ERR_INJECT_ROUND2_SERVER_ZK_PROOF,
|
||||
ERR_INJECT_EXTRA_OUTPUT,
|
||||
ERR_INJECT_EXTRA_INPUT,
|
||||
ERR_INJECT_EXTRA_OUTPUT_AT_END,
|
||||
ERR_INJECT_EXTRA_INPUT_AT_END,
|
||||
/* erros issued from the .data file */
|
||||
ERR_IN_SETUP,
|
||||
ERR_IN_SET_USER,
|
||||
@ -69,6 +74,13 @@ static const uint8_t jpake_client_id[] = { 'c', 'l', 'i', 'e', 'n', 't' };
|
||||
*(buf + 7) ^= 1; \
|
||||
}
|
||||
|
||||
#define DO_ROUND_CONDITIONAL_CHECK_FAILURE(this_stage, function) \
|
||||
if (this_stage == err_stage) \
|
||||
{ \
|
||||
TEST_EQUAL(function, expected_error_arg); \
|
||||
break; \
|
||||
}
|
||||
|
||||
#define DO_ROUND_UPDATE_OFFSETS(main_buf_offset, step_offset, step_size) \
|
||||
{ \
|
||||
step_offset = main_buf_offset; \
|
||||
@ -185,6 +197,12 @@ static void ecjpake_do_round(psa_algorithm_t alg, unsigned int primitive,
|
||||
buffer0 + buffer0_off);
|
||||
DO_ROUND_UPDATE_OFFSETS(buffer0_off, s_x2_pr_off, s_x2_pr_len);
|
||||
|
||||
size_t extra_output_len;
|
||||
DO_ROUND_CONDITIONAL_CHECK_FAILURE(
|
||||
ERR_INJECT_EXTRA_OUTPUT,
|
||||
psa_pake_output(server, PSA_PAKE_STEP_KEY_SHARE,
|
||||
buffer0 + s_g2_off, 512 - s_g2_off, &extra_output_len));
|
||||
(void) extra_output_len;
|
||||
/*
|
||||
* When injecting errors in inputs, the implementation is
|
||||
* free to detect it right away of with a delay.
|
||||
@ -223,6 +241,12 @@ static void ecjpake_do_round(psa_algorithm_t alg, unsigned int primitive,
|
||||
s_x2_pr_len);
|
||||
DO_ROUND_CHECK_FAILURE();
|
||||
|
||||
/* Note: Must have client_input_first == 1 to inject extra input */
|
||||
DO_ROUND_CONDITIONAL_CHECK_FAILURE(
|
||||
ERR_INJECT_EXTRA_INPUT,
|
||||
psa_pake_input(client, PSA_PAKE_STEP_KEY_SHARE,
|
||||
buffer0 + s_g2_off, s_g2_len));
|
||||
|
||||
/* Error didn't trigger, make test fail */
|
||||
if ((err_stage >= ERR_INJECT_ROUND1_SERVER_KEY_SHARE_PART1) &&
|
||||
(err_stage <= ERR_INJECT_ROUND1_SERVER_ZK_PROOF_PART2)) {
|
||||
@ -444,6 +468,16 @@ static void ecjpake_do_round(psa_algorithm_t alg, unsigned int primitive,
|
||||
buffer1 + buffer1_off);
|
||||
DO_ROUND_UPDATE_OFFSETS(buffer1_off, c_x2s_pr_off, c_x2s_pr_len);
|
||||
|
||||
if (client_input_first == 1) {
|
||||
size_t extra_output_at_end_len;
|
||||
DO_ROUND_CONDITIONAL_CHECK_FAILURE(
|
||||
ERR_INJECT_EXTRA_OUTPUT_AT_END,
|
||||
psa_pake_output(client, PSA_PAKE_STEP_KEY_SHARE,
|
||||
buffer1 + c_a_off, 512 - c_a_off,
|
||||
&extra_output_at_end_len));
|
||||
(void) extra_output_at_end_len;
|
||||
}
|
||||
|
||||
if (client_input_first == 0) {
|
||||
/* Client second round Input */
|
||||
status = psa_pake_input(client, PSA_PAKE_STEP_KEY_SHARE,
|
||||
@ -481,6 +515,12 @@ static void ecjpake_do_round(psa_algorithm_t alg, unsigned int primitive,
|
||||
buffer1 + c_x2s_pr_off, c_x2s_pr_len);
|
||||
DO_ROUND_CHECK_FAILURE();
|
||||
|
||||
DO_ROUND_CONDITIONAL_CHECK_FAILURE(
|
||||
ERR_INJECT_EXTRA_INPUT_AT_END,
|
||||
psa_pake_input(server, PSA_PAKE_STEP_KEY_SHARE,
|
||||
buffer1 + c_a_off, c_a_len));
|
||||
|
||||
|
||||
/* Error didn't trigger, make test fail */
|
||||
if ((err_stage >= ERR_INJECT_ROUND2_CLIENT_KEY_SHARE) &&
|
||||
(err_stage <= ERR_INJECT_ROUND2_CLIENT_ZK_PROOF)) {
|
||||
@ -733,7 +773,8 @@ void ecjpake_rounds_inject(int alg_arg, int primitive_arg, int hash_arg,
|
||||
int client_input_first,
|
||||
data_t *pw_data,
|
||||
int err_stage_arg,
|
||||
int expected_error_arg)
|
||||
int expected_error_arg,
|
||||
int inject_in_second_round)
|
||||
{
|
||||
psa_pake_cipher_suite_t cipher_suite = psa_pake_cipher_suite_init();
|
||||
psa_pake_operation_t server = psa_pake_operation_init();
|
||||
@ -770,9 +811,10 @@ void ecjpake_rounds_inject(int alg_arg, int primitive_arg, int hash_arg,
|
||||
|
||||
ecjpake_do_round(alg, primitive_arg, &server, &client,
|
||||
client_input_first, PAKE_ROUND_ONE,
|
||||
err_stage, expected_error_arg);
|
||||
inject_in_second_round ? ERR_NONE : err_stage,
|
||||
expected_error_arg);
|
||||
|
||||
if (err_stage != ERR_NONE) {
|
||||
if (!inject_in_second_round && err_stage != ERR_NONE) {
|
||||
goto exit;
|
||||
}
|
||||
|
||||
|
@ -996,7 +996,7 @@ depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_PK_CAN_ECDSA_VERIFY:MBEDTLS_MD_CAN_SHA256
|
||||
x509_verify:"data_files/server5.crt":"data_files/test-ca2.crt":"data_files/crl-ec-sha256.pem":"globalhost":0:0:"":"verify_all"
|
||||
|
||||
X509 CRT verification #93 (Suite B invalid, EC cert, RSA CA)
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_ECP_LIGHT:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_MD_CAN_SHA1
|
||||
depends_on:MBEDTLS_PEM_PARSE_C:MBEDTLS_RSA_C:MBEDTLS_PK_CAN_ECDSA_VERIFY:MBEDTLS_ECP_DP_SECP192R1_ENABLED:MBEDTLS_PKCS1_V15:MBEDTLS_MD_CAN_SHA1
|
||||
x509_verify:"data_files/server3.crt":"data_files/test-ca.crt":"data_files/crl.pem":"NULL":MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:MBEDTLS_X509_BADCERT_BAD_MD|MBEDTLS_X509_BADCERT_BAD_PK|MBEDTLS_X509_BADCERT_BAD_KEY|MBEDTLS_X509_BADCRL_BAD_MD|MBEDTLS_X509_BADCRL_BAD_PK:"suite_b":"NULL"
|
||||
|
||||
X509 CRT verification #94 (Suite B invalid, RSA cert, EC CA)
|
||||
|
@ -11,8 +11,6 @@
|
||||
#include "mbedtls/pk.h"
|
||||
#include "string.h"
|
||||
|
||||
#include "x509_invasive.h"
|
||||
|
||||
#if MBEDTLS_X509_MAX_INTERMEDIATE_CA > 19
|
||||
#error "The value of MBEDTLS_X509_MAX_INTERMEDIATE_C is larger \
|
||||
than the current threshold 19. To test larger values, please \
|
||||
@ -433,7 +431,7 @@ void x509_accessor_ext_types(int ext_type, int has_ext_type)
|
||||
|
||||
crt.ext_types = ext_type;
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_has_ext_type(&crt, has_ext_type) == expected_result);
|
||||
TEST_EQUAL(mbedtls_x509_crt_has_ext_type(&crt, has_ext_type), expected_result);
|
||||
|
||||
exit:
|
||||
mbedtls_x509_crt_free(&crt);
|
||||
@ -491,7 +489,7 @@ void x509_parse_san(char *crt_file, char *result_str, int parse_result)
|
||||
}
|
||||
}
|
||||
|
||||
TEST_ASSERT(strcmp(buf, result_str) == 0);
|
||||
TEST_EQUAL(strcmp(buf, result_str), 0);
|
||||
|
||||
exit:
|
||||
mbedtls_x509_crt_free(&crt);
|
||||
@ -510,13 +508,13 @@ void x509_cert_info(char *crt_file, char *result_str)
|
||||
USE_PSA_INIT();
|
||||
memset(buf, 0, 2000);
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&crt, crt_file) == 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&crt, crt_file), 0);
|
||||
res = mbedtls_x509_crt_info(buf, 2000, "", &crt);
|
||||
|
||||
TEST_ASSERT(res != -1);
|
||||
TEST_ASSERT(res != -2);
|
||||
|
||||
TEST_ASSERT(strcmp(buf, result_str) == 0);
|
||||
TEST_EQUAL(strcmp(buf, result_str), 0);
|
||||
|
||||
exit:
|
||||
mbedtls_x509_crt_free(&crt);
|
||||
@ -535,13 +533,13 @@ void mbedtls_x509_crl_info(char *crl_file, char *result_str)
|
||||
USE_PSA_INIT();
|
||||
memset(buf, 0, 2000);
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crl_parse_file(&crl, crl_file) == 0);
|
||||
TEST_EQUAL(mbedtls_x509_crl_parse_file(&crl, crl_file), 0);
|
||||
res = mbedtls_x509_crl_info(buf, 2000, "", &crl);
|
||||
|
||||
TEST_ASSERT(res != -1);
|
||||
TEST_ASSERT(res != -2);
|
||||
|
||||
TEST_ASSERT(strcmp(buf, result_str) == 0);
|
||||
TEST_EQUAL(strcmp(buf, result_str), 0);
|
||||
|
||||
exit:
|
||||
mbedtls_x509_crl_free(&crl);
|
||||
@ -559,7 +557,7 @@ void mbedtls_x509_crl_parse(char *crl_file, int result)
|
||||
USE_PSA_INIT();
|
||||
memset(buf, 0, 2000);
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crl_parse_file(&crl, crl_file) == result);
|
||||
TEST_EQUAL(mbedtls_x509_crl_parse_file(&crl, crl_file), result);
|
||||
|
||||
exit:
|
||||
mbedtls_x509_crl_free(&crl);
|
||||
@ -578,13 +576,13 @@ void mbedtls_x509_csr_info(char *csr_file, char *result_str)
|
||||
USE_PSA_INIT();
|
||||
memset(buf, 0, 2000);
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_csr_parse_file(&csr, csr_file) == 0);
|
||||
TEST_EQUAL(mbedtls_x509_csr_parse_file(&csr, csr_file), 0);
|
||||
res = mbedtls_x509_csr_info(buf, 2000, "", &csr);
|
||||
|
||||
TEST_ASSERT(res != -1);
|
||||
TEST_ASSERT(res != -2);
|
||||
|
||||
TEST_ASSERT(strcmp(buf, result_str) == 0);
|
||||
TEST_EQUAL(strcmp(buf, result_str), 0);
|
||||
|
||||
exit:
|
||||
mbedtls_x509_csr_free(&csr);
|
||||
@ -605,7 +603,7 @@ void x509_verify_info(int flags, char *prefix, char *result_str)
|
||||
|
||||
TEST_ASSERT(res >= 0);
|
||||
|
||||
TEST_ASSERT(strcmp(buf, result_str) == 0);
|
||||
TEST_EQUAL(strcmp(buf, result_str), 0);
|
||||
|
||||
exit:
|
||||
USE_PSA_DONE();
|
||||
@ -637,8 +635,8 @@ void x509_verify_restart(char *crt_file, char *ca_file,
|
||||
mbedtls_x509_crt_init(&ca);
|
||||
MD_OR_USE_PSA_INIT();
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&crt, crt_file) == 0);
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&ca, ca_file) == 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&crt, crt_file), 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&ca, ca_file), 0);
|
||||
|
||||
mbedtls_ecp_set_max_ops(max_ops);
|
||||
|
||||
@ -649,8 +647,8 @@ void x509_verify_restart(char *crt_file, char *ca_file,
|
||||
NULL, NULL, &rs_ctx);
|
||||
} while (ret == MBEDTLS_ERR_ECP_IN_PROGRESS && ++cnt_restart);
|
||||
|
||||
TEST_ASSERT(ret == result);
|
||||
TEST_ASSERT(flags == (uint32_t) flags_result);
|
||||
TEST_EQUAL(ret, result);
|
||||
TEST_EQUAL(flags, (uint32_t) flags_result);
|
||||
|
||||
TEST_ASSERT(cnt_restart >= min_restart);
|
||||
TEST_ASSERT(cnt_restart <= max_restart);
|
||||
@ -717,9 +715,9 @@ void x509_verify(char *crt_file, char *ca_file, char *crl_file,
|
||||
TEST_ASSERT("No known verify callback selected" == 0);
|
||||
}
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&crt, crt_file) == 0);
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&ca, ca_file) == 0);
|
||||
TEST_ASSERT(mbedtls_x509_crl_parse_file(&crl, crl_file) == 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&crt, crt_file), 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&ca, ca_file), 0);
|
||||
TEST_EQUAL(mbedtls_x509_crl_parse_file(&crl, crl_file), 0);
|
||||
|
||||
res = mbedtls_x509_crt_verify_with_profile(&crt,
|
||||
&ca,
|
||||
@ -748,8 +746,8 @@ void x509_verify(char *crt_file, char *ca_file, char *crl_file,
|
||||
f_vrfy,
|
||||
NULL);
|
||||
|
||||
TEST_ASSERT(res == (result));
|
||||
TEST_ASSERT(flags == (uint32_t) (flags_result));
|
||||
TEST_EQUAL(res, result);
|
||||
TEST_EQUAL(flags, (uint32_t) (flags_result));
|
||||
}
|
||||
#endif /* MBEDTLS_X509_TRUSTED_CERTIFICATE_CALLBACK */
|
||||
exit:
|
||||
@ -773,8 +771,8 @@ void x509_verify_ca_cb_failure(char *crt_file, char *ca_file, char *name,
|
||||
mbedtls_x509_crt_init(&ca);
|
||||
USE_PSA_INIT();
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&crt, crt_file) == 0);
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&ca, ca_file) == 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&crt, crt_file), 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&ca, ca_file), 0);
|
||||
|
||||
if (strcmp(name, "NULL") == 0) {
|
||||
name = NULL;
|
||||
@ -784,8 +782,8 @@ void x509_verify_ca_cb_failure(char *crt_file, char *ca_file, char *name,
|
||||
&compat_profile, name, &flags,
|
||||
NULL, NULL);
|
||||
|
||||
TEST_ASSERT(ret == exp_ret);
|
||||
TEST_ASSERT(flags == (uint32_t) (-1));
|
||||
TEST_EQUAL(ret, exp_ret);
|
||||
TEST_EQUAL(flags, (uint32_t) (-1));
|
||||
exit:
|
||||
mbedtls_x509_crt_free(&crt);
|
||||
mbedtls_x509_crt_free(&ca);
|
||||
@ -809,8 +807,8 @@ void x509_verify_callback(char *crt_file, char *ca_file, char *name,
|
||||
|
||||
verify_print_init(&vrfy_ctx);
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&crt, crt_file) == 0);
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&ca, ca_file) == 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&crt, crt_file), 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&ca, ca_file), 0);
|
||||
|
||||
if (strcmp(name, "NULL") == 0) {
|
||||
name = NULL;
|
||||
@ -821,8 +819,8 @@ void x509_verify_callback(char *crt_file, char *ca_file, char *name,
|
||||
name, &flags,
|
||||
verify_print, &vrfy_ctx);
|
||||
|
||||
TEST_ASSERT(ret == exp_ret);
|
||||
TEST_ASSERT(strcmp(vrfy_ctx.buf, exp_vrfy_out) == 0);
|
||||
TEST_EQUAL(ret, exp_ret);
|
||||
TEST_EQUAL(strcmp(vrfy_ctx.buf, exp_vrfy_out), 0);
|
||||
|
||||
exit:
|
||||
mbedtls_x509_crt_free(&crt);
|
||||
@ -846,18 +844,18 @@ void mbedtls_x509_dn_gets_subject_replace(char *crt_file,
|
||||
|
||||
memset(buf, 0, 2000);
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&crt, crt_file) == 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&crt, crt_file), 0);
|
||||
crt.subject.next->val.p = (unsigned char *) new_subject_ou;
|
||||
crt.subject.next->val.len = strlen(new_subject_ou);
|
||||
|
||||
res = mbedtls_x509_dn_gets(buf, 2000, &crt.subject);
|
||||
|
||||
if (ret != 0) {
|
||||
TEST_ASSERT(res == ret);
|
||||
TEST_EQUAL(res, ret);
|
||||
} else {
|
||||
TEST_ASSERT(res != -1);
|
||||
TEST_ASSERT(res != -2);
|
||||
TEST_ASSERT(strcmp(buf, result_str) == 0);
|
||||
TEST_EQUAL(strcmp(buf, result_str), 0);
|
||||
}
|
||||
exit:
|
||||
mbedtls_x509_crt_free(&crt);
|
||||
@ -877,7 +875,7 @@ void mbedtls_x509_dn_gets(char *crt_file, char *entity, char *result_str)
|
||||
|
||||
memset(buf, 0, 2000);
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&crt, crt_file) == 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&crt, crt_file), 0);
|
||||
if (strcmp(entity, "subject") == 0) {
|
||||
res = mbedtls_x509_dn_gets(buf, 2000, &crt.subject);
|
||||
} else if (strcmp(entity, "issuer") == 0) {
|
||||
@ -889,7 +887,7 @@ void mbedtls_x509_dn_gets(char *crt_file, char *entity, char *result_str)
|
||||
TEST_ASSERT(res != -1);
|
||||
TEST_ASSERT(res != -2);
|
||||
|
||||
TEST_ASSERT(strcmp(buf, result_str) == 0);
|
||||
TEST_EQUAL(strcmp(buf, result_str), 0);
|
||||
|
||||
exit:
|
||||
mbedtls_x509_crt_free(&crt);
|
||||
@ -1001,12 +999,12 @@ void mbedtls_x509_time_is_past(char *crt_file, char *entity, int result)
|
||||
mbedtls_x509_crt_init(&crt);
|
||||
USE_PSA_INIT();
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&crt, crt_file) == 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&crt, crt_file), 0);
|
||||
|
||||
if (strcmp(entity, "valid_from") == 0) {
|
||||
TEST_ASSERT(mbedtls_x509_time_is_past(&crt.valid_from) == result);
|
||||
TEST_EQUAL(mbedtls_x509_time_is_past(&crt.valid_from), result);
|
||||
} else if (strcmp(entity, "valid_to") == 0) {
|
||||
TEST_ASSERT(mbedtls_x509_time_is_past(&crt.valid_to) == result);
|
||||
TEST_EQUAL(mbedtls_x509_time_is_past(&crt.valid_to), result);
|
||||
} else {
|
||||
TEST_ASSERT("Unknown entity" == 0);
|
||||
}
|
||||
@ -1025,12 +1023,12 @@ void mbedtls_x509_time_is_future(char *crt_file, char *entity, int result)
|
||||
mbedtls_x509_crt_init(&crt);
|
||||
USE_PSA_INIT();
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&crt, crt_file) == 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&crt, crt_file), 0);
|
||||
|
||||
if (strcmp(entity, "valid_from") == 0) {
|
||||
TEST_ASSERT(mbedtls_x509_time_is_future(&crt.valid_from) == result);
|
||||
TEST_EQUAL(mbedtls_x509_time_is_future(&crt.valid_from), result);
|
||||
} else if (strcmp(entity, "valid_to") == 0) {
|
||||
TEST_ASSERT(mbedtls_x509_time_is_future(&crt.valid_to) == result);
|
||||
TEST_EQUAL(mbedtls_x509_time_is_future(&crt.valid_to), result);
|
||||
} else {
|
||||
TEST_ASSERT("Unknown entity" == 0);
|
||||
}
|
||||
@ -1049,7 +1047,7 @@ void x509parse_crt_file(char *crt_file, int result)
|
||||
mbedtls_x509_crt_init(&crt);
|
||||
USE_PSA_INIT();
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&crt, crt_file) == result);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&crt, crt_file), result);
|
||||
|
||||
exit:
|
||||
mbedtls_x509_crt_free(&crt);
|
||||
@ -1071,14 +1069,14 @@ void x509parse_crt(data_t *buf, char *result_str, int result)
|
||||
mbedtls_x509_crt_init(&crt);
|
||||
USE_PSA_INIT();
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_der(&crt, buf->x, buf->len) == (result));
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_der(&crt, buf->x, buf->len), result);
|
||||
#if !defined(MBEDTLS_X509_REMOVE_INFO)
|
||||
if ((result) == 0) {
|
||||
res = mbedtls_x509_crt_info((char *) output, 2000, "", &crt);
|
||||
TEST_ASSERT(res != -1);
|
||||
TEST_ASSERT(res != -2);
|
||||
|
||||
TEST_ASSERT(strcmp((char *) output, result_str) == 0);
|
||||
TEST_EQUAL(strcmp((char *) output, result_str), 0);
|
||||
}
|
||||
memset(output, 0, 2000);
|
||||
#endif
|
||||
@ -1086,7 +1084,7 @@ void x509parse_crt(data_t *buf, char *result_str, int result)
|
||||
mbedtls_x509_crt_free(&crt);
|
||||
mbedtls_x509_crt_init(&crt);
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_der_nocopy(&crt, buf->x, buf->len) == (result));
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_der_nocopy(&crt, buf->x, buf->len), result);
|
||||
#if !defined(MBEDTLS_X509_REMOVE_INFO)
|
||||
if ((result) == 0) {
|
||||
memset(output, 0, 2000);
|
||||
@ -1096,7 +1094,7 @@ void x509parse_crt(data_t *buf, char *result_str, int result)
|
||||
TEST_ASSERT(res != -1);
|
||||
TEST_ASSERT(res != -2);
|
||||
|
||||
TEST_ASSERT(strcmp((char *) output, result_str) == 0);
|
||||
TEST_EQUAL(strcmp((char *) output, result_str), 0);
|
||||
}
|
||||
memset(output, 0, 2000);
|
||||
#endif /* !MBEDTLS_X509_REMOVE_INFO */
|
||||
@ -1104,8 +1102,8 @@ void x509parse_crt(data_t *buf, char *result_str, int result)
|
||||
mbedtls_x509_crt_free(&crt);
|
||||
mbedtls_x509_crt_init(&crt);
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_der_with_ext_cb(&crt, buf->x, buf->len, 0, NULL,
|
||||
NULL) == (result));
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_der_with_ext_cb(&crt, buf->x, buf->len, 0, NULL, NULL),
|
||||
result);
|
||||
#if !defined(MBEDTLS_X509_REMOVE_INFO)
|
||||
if ((result) == 0) {
|
||||
res = mbedtls_x509_crt_info((char *) output, 2000, "", &crt);
|
||||
@ -1113,7 +1111,7 @@ void x509parse_crt(data_t *buf, char *result_str, int result)
|
||||
TEST_ASSERT(res != -1);
|
||||
TEST_ASSERT(res != -2);
|
||||
|
||||
TEST_ASSERT(strcmp((char *) output, result_str) == 0);
|
||||
TEST_EQUAL(strcmp((char *) output, result_str), 0);
|
||||
}
|
||||
memset(output, 0, 2000);
|
||||
#endif /* !MBEDTLS_X509_REMOVE_INFO */
|
||||
@ -1121,8 +1119,8 @@ void x509parse_crt(data_t *buf, char *result_str, int result)
|
||||
mbedtls_x509_crt_free(&crt);
|
||||
mbedtls_x509_crt_init(&crt);
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_der_with_ext_cb(&crt, buf->x, buf->len, 1, NULL,
|
||||
NULL) == (result));
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_der_with_ext_cb(&crt, buf->x, buf->len, 1, NULL, NULL),
|
||||
result);
|
||||
#if !defined(MBEDTLS_X509_REMOVE_INFO)
|
||||
if ((result) == 0) {
|
||||
res = mbedtls_x509_crt_info((char *) output, 2000, "", &crt);
|
||||
@ -1130,7 +1128,7 @@ void x509parse_crt(data_t *buf, char *result_str, int result)
|
||||
TEST_ASSERT(res != -1);
|
||||
TEST_ASSERT(res != -2);
|
||||
|
||||
TEST_ASSERT(strcmp((char *) output, result_str) == 0);
|
||||
TEST_EQUAL(strcmp((char *) output, result_str), 0);
|
||||
}
|
||||
#endif /* !MBEDTLS_X509_REMOVE_INFO */
|
||||
|
||||
@ -1160,8 +1158,8 @@ void x509parse_crt_cb(data_t *buf, char *result_str, int result)
|
||||
mbedtls_x509_crt_init(&crt);
|
||||
USE_PSA_INIT();
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_der_with_ext_cb(&crt, buf->x, buf->len, 0, parse_crt_ext_cb,
|
||||
&oid) == (result));
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_der_with_ext_cb(&crt, buf->x, buf->len, 0, parse_crt_ext_cb,
|
||||
&oid), result);
|
||||
#if !defined(MBEDTLS_X509_REMOVE_INFO)
|
||||
if ((result) == 0) {
|
||||
res = mbedtls_x509_crt_info((char *) output, 2000, "", &crt);
|
||||
@ -1169,7 +1167,7 @@ void x509parse_crt_cb(data_t *buf, char *result_str, int result)
|
||||
TEST_ASSERT(res != -1);
|
||||
TEST_ASSERT(res != -2);
|
||||
|
||||
TEST_ASSERT(strcmp((char *) output, result_str) == 0);
|
||||
TEST_EQUAL(strcmp((char *) output, result_str), 0);
|
||||
}
|
||||
memset(output, 0, 2000);
|
||||
#endif /* !MBEDTLS_X509_REMOVE_INFO */
|
||||
@ -1177,8 +1175,8 @@ void x509parse_crt_cb(data_t *buf, char *result_str, int result)
|
||||
mbedtls_x509_crt_free(&crt);
|
||||
mbedtls_x509_crt_init(&crt);
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_der_with_ext_cb(&crt, buf->x, buf->len, 1, parse_crt_ext_cb,
|
||||
&oid) == (result));
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_der_with_ext_cb(&crt, buf->x, buf->len, 1, parse_crt_ext_cb,
|
||||
&oid), (result));
|
||||
#if !defined(MBEDTLS_X509_REMOVE_INFO)
|
||||
if ((result) == 0) {
|
||||
res = mbedtls_x509_crt_info((char *) output, 2000, "", &crt);
|
||||
@ -1186,7 +1184,7 @@ void x509parse_crt_cb(data_t *buf, char *result_str, int result)
|
||||
TEST_ASSERT(res != -1);
|
||||
TEST_ASSERT(res != -2);
|
||||
|
||||
TEST_ASSERT(strcmp((char *) output, result_str) == 0);
|
||||
TEST_EQUAL(strcmp((char *) output, result_str), 0);
|
||||
}
|
||||
#endif /* !MBEDTLS_X509_REMOVE_INFO */
|
||||
|
||||
@ -1209,14 +1207,14 @@ void x509parse_crl(data_t *buf, char *result_str, int result)
|
||||
memset(output, 0, 2000);
|
||||
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crl_parse(&crl, buf->x, buf->len) == (result));
|
||||
TEST_EQUAL(mbedtls_x509_crl_parse(&crl, buf->x, buf->len), (result));
|
||||
if ((result) == 0) {
|
||||
res = mbedtls_x509_crl_info((char *) output, 2000, "", &crl);
|
||||
|
||||
TEST_ASSERT(res != -1);
|
||||
TEST_ASSERT(res != -2);
|
||||
|
||||
TEST_ASSERT(strcmp((char *) output, result_str) == 0);
|
||||
TEST_EQUAL(strcmp((char *) output, result_str), 0);
|
||||
}
|
||||
|
||||
exit:
|
||||
@ -1238,12 +1236,12 @@ void mbedtls_x509_csr_parse(data_t *csr_der, char *ref_out, int ref_ret)
|
||||
memset(my_out, 0, sizeof(my_out));
|
||||
|
||||
my_ret = mbedtls_x509_csr_parse_der(&csr, csr_der->x, csr_der->len);
|
||||
TEST_ASSERT(my_ret == ref_ret);
|
||||
TEST_EQUAL(my_ret, ref_ret);
|
||||
|
||||
if (ref_ret == 0) {
|
||||
size_t my_out_len = mbedtls_x509_csr_info(my_out, sizeof(my_out), "", &csr);
|
||||
TEST_ASSERT(my_out_len == strlen(ref_out));
|
||||
TEST_ASSERT(strcmp(my_out, ref_out) == 0);
|
||||
TEST_EQUAL(my_out_len, strlen(ref_out));
|
||||
TEST_EQUAL(strcmp(my_out, ref_out), 0);
|
||||
}
|
||||
|
||||
exit:
|
||||
@ -1265,12 +1263,12 @@ void mbedtls_x509_csr_parse_file(char *csr_file, char *ref_out, int ref_ret)
|
||||
memset(my_out, 0, sizeof(my_out));
|
||||
|
||||
my_ret = mbedtls_x509_csr_parse_file(&csr, csr_file);
|
||||
TEST_ASSERT(my_ret == ref_ret);
|
||||
TEST_EQUAL(my_ret, ref_ret);
|
||||
|
||||
if (ref_ret == 0) {
|
||||
size_t my_out_len = mbedtls_x509_csr_info(my_out, sizeof(my_out), "", &csr);
|
||||
TEST_ASSERT(my_out_len == strlen(ref_out));
|
||||
TEST_ASSERT(strcmp(my_out, ref_out) == 0);
|
||||
TEST_EQUAL(my_out_len, strlen(ref_out));
|
||||
TEST_EQUAL(strcmp(my_out, ref_out), 0);
|
||||
}
|
||||
|
||||
exit:
|
||||
@ -1288,7 +1286,7 @@ void mbedtls_x509_crt_parse_path(char *crt_path, int ret, int nb_crt)
|
||||
mbedtls_x509_crt_init(&chain);
|
||||
USE_PSA_INIT();
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_path(&chain, crt_path) == ret);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_path(&chain, crt_path), ret);
|
||||
|
||||
/* Check how many certs we got */
|
||||
for (i = 0, cur = &chain; cur != NULL; cur = cur->next) {
|
||||
@ -1297,7 +1295,7 @@ void mbedtls_x509_crt_parse_path(char *crt_path, int ret, int nb_crt)
|
||||
}
|
||||
}
|
||||
|
||||
TEST_ASSERT(i == nb_crt);
|
||||
TEST_EQUAL(i, nb_crt);
|
||||
|
||||
exit:
|
||||
mbedtls_x509_crt_free(&chain);
|
||||
@ -1323,20 +1321,20 @@ void mbedtls_x509_crt_verify_max(char *ca_file, char *chain_dir, int nb_int,
|
||||
MD_OR_USE_PSA_INIT();
|
||||
|
||||
/* Load trusted root */
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&trusted, ca_file) == 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&trusted, ca_file), 0);
|
||||
|
||||
/* Load a chain with nb_int intermediates (from 01 to nb_int),
|
||||
* plus one "end-entity" cert (nb_int + 1) */
|
||||
ret = mbedtls_snprintf(file_buf, sizeof(file_buf), "%s/c%02d.pem", chain_dir,
|
||||
nb_int + 1);
|
||||
TEST_ASSERT(ret > 0 && (size_t) ret < sizeof(file_buf));
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&chain, file_buf) == 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&chain, file_buf), 0);
|
||||
|
||||
/* Try to verify that chain */
|
||||
ret = mbedtls_x509_crt_verify(&chain, &trusted, NULL, NULL, &flags,
|
||||
NULL, NULL);
|
||||
TEST_ASSERT(ret == ret_chk);
|
||||
TEST_ASSERT(flags == (uint32_t) flags_chk);
|
||||
TEST_EQUAL(ret, ret_chk);
|
||||
TEST_EQUAL(flags, (uint32_t) flags_chk);
|
||||
|
||||
exit:
|
||||
mbedtls_x509_crt_free(&chain);
|
||||
@ -1361,9 +1359,9 @@ void mbedtls_x509_crt_verify_chain(char *chain_paths, char *trusted_ca,
|
||||
MD_OR_USE_PSA_INIT();
|
||||
|
||||
while ((act = mystrsep(&chain_paths, " ")) != NULL) {
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&chain, act) == 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&chain, act), 0);
|
||||
}
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&trusted, trusted_ca) == 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&trusted, trusted_ca), 0);
|
||||
|
||||
if (strcmp(profile_name, "") == 0) {
|
||||
profile = &mbedtls_x509_crt_profile_default;
|
||||
@ -1380,8 +1378,8 @@ void mbedtls_x509_crt_verify_chain(char *chain_paths, char *trusted_ca,
|
||||
res = mbedtls_x509_crt_verify_with_profile(&chain, &trusted, NULL, profile,
|
||||
NULL, &flags, verify_fatal, &vrfy_fatal_lvls);
|
||||
|
||||
TEST_ASSERT(res == (result));
|
||||
TEST_ASSERT(flags == (uint32_t) (flags_result));
|
||||
TEST_EQUAL(res, (result));
|
||||
TEST_EQUAL(flags, (uint32_t) (flags_result));
|
||||
|
||||
exit:
|
||||
mbedtls_x509_crt_free(&trusted);
|
||||
@ -1409,9 +1407,9 @@ void x509_oid_desc(data_t *buf, char *ref_desc)
|
||||
TEST_ASSERT(ret != 0);
|
||||
TEST_ASSERT(desc == NULL);
|
||||
} else {
|
||||
TEST_ASSERT(ret == 0);
|
||||
TEST_EQUAL(ret, 0);
|
||||
TEST_ASSERT(desc != NULL);
|
||||
TEST_ASSERT(strcmp(desc, ref_desc) == 0);
|
||||
TEST_EQUAL(strcmp(desc, ref_desc), 0);
|
||||
}
|
||||
|
||||
exit:
|
||||
@ -1435,11 +1433,11 @@ void x509_oid_numstr(data_t *oid_buf, char *numstr, int blen, int ret)
|
||||
|
||||
TEST_ASSERT((size_t) blen <= sizeof(num_buf));
|
||||
|
||||
TEST_ASSERT(mbedtls_oid_get_numeric_string(num_buf, blen, &oid) == ret);
|
||||
TEST_EQUAL(mbedtls_oid_get_numeric_string(num_buf, blen, &oid), ret);
|
||||
|
||||
if (ret >= 0) {
|
||||
TEST_ASSERT(num_buf[ret] == 0);
|
||||
TEST_ASSERT(strcmp(num_buf, numstr) == 0);
|
||||
TEST_EQUAL(num_buf[ret], 0);
|
||||
TEST_EQUAL(strcmp(num_buf, numstr), 0);
|
||||
}
|
||||
|
||||
exit:
|
||||
@ -1455,9 +1453,9 @@ void x509_check_key_usage(char *crt_file, int usage, int ret)
|
||||
mbedtls_x509_crt_init(&crt);
|
||||
USE_PSA_INIT();
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&crt, crt_file) == 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&crt, crt_file), 0);
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_check_key_usage(&crt, usage) == ret);
|
||||
TEST_EQUAL(mbedtls_x509_crt_check_key_usage(&crt, usage), ret);
|
||||
|
||||
exit:
|
||||
mbedtls_x509_crt_free(&crt);
|
||||
@ -1474,10 +1472,10 @@ void x509_check_extended_key_usage(char *crt_file, data_t *oid, int ret
|
||||
mbedtls_x509_crt_init(&crt);
|
||||
USE_PSA_INIT();
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_parse_file(&crt, crt_file) == 0);
|
||||
TEST_EQUAL(mbedtls_x509_crt_parse_file(&crt, crt_file), 0);
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_crt_check_extended_key_usage(&crt, (const char *) oid->x,
|
||||
oid->len) == ret);
|
||||
TEST_EQUAL(mbedtls_x509_crt_check_extended_key_usage(&crt, (const char *) oid->x, oid->len),
|
||||
ret);
|
||||
|
||||
exit:
|
||||
mbedtls_x509_crt_free(&crt);
|
||||
@ -1503,14 +1501,14 @@ void x509_get_time(int tag, char *time_str, int ret, int year, int mon,
|
||||
memcpy(end, time_str, (size_t) *(end - 1));
|
||||
end += *(end - 1);
|
||||
|
||||
TEST_ASSERT(mbedtls_x509_get_time(&start, end, &time) == ret);
|
||||
TEST_EQUAL(mbedtls_x509_get_time(&start, end, &time), ret);
|
||||
if (ret == 0) {
|
||||
TEST_ASSERT(year == time.year);
|
||||
TEST_ASSERT(mon == time.mon);
|
||||
TEST_ASSERT(day == time.day);
|
||||
TEST_ASSERT(hour == time.hour);
|
||||
TEST_ASSERT(min == time.min);
|
||||
TEST_ASSERT(sec == time.sec);
|
||||
TEST_EQUAL(year, time.year);
|
||||
TEST_EQUAL(mon, time.mon);
|
||||
TEST_EQUAL(day, time.day);
|
||||
TEST_EQUAL(hour, time.hour);
|
||||
TEST_EQUAL(min, time.min);
|
||||
TEST_EQUAL(sec, time.sec);
|
||||
}
|
||||
exit:
|
||||
USE_PSA_DONE();
|
||||
@ -1536,12 +1534,12 @@ void x509_parse_rsassa_pss_params(data_t *params, int params_tag,
|
||||
my_ret = mbedtls_x509_get_rsassa_pss_params(&buf, &my_msg_md, &my_mgf_md,
|
||||
&my_salt_len);
|
||||
|
||||
TEST_ASSERT(my_ret == ref_ret);
|
||||
TEST_EQUAL(my_ret, ref_ret);
|
||||
|
||||
if (ref_ret == 0) {
|
||||
TEST_ASSERT(my_msg_md == (mbedtls_md_type_t) ref_msg_md);
|
||||
TEST_ASSERT(my_mgf_md == (mbedtls_md_type_t) ref_mgf_md);
|
||||
TEST_ASSERT(my_salt_len == ref_salt_len);
|
||||
TEST_EQUAL(my_msg_md, (mbedtls_md_type_t) ref_msg_md);
|
||||
TEST_EQUAL(my_mgf_md, (mbedtls_md_type_t) ref_mgf_md);
|
||||
TEST_EQUAL(my_salt_len, ref_salt_len);
|
||||
}
|
||||
|
||||
exit:
|
||||
|
Reference in New Issue
Block a user