Skip to content

Commit 3930e18

Browse files
committed
Merge remote-tracking branch 'origin/pr/2509' into development
* origin/pr/2509: all.sh: Generate seedfile for crypto submodule tests Update crypto submodule to test with private headers tests: Use globbing in test suite exclusion list Update crypto submodule to Mbed Crypto development tests: Test crypto via the crypto submodule
2 parents d5d01a0 + 9714510 commit 3930e18

File tree

11 files changed

+176
-141
lines changed

11 files changed

+176
-141
lines changed

CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,9 @@ if(ENABLE_TESTING)
195195
enable_testing()
196196

197197
add_subdirectory(tests)
198+
if(USE_CRYPTO_SUBMODULE)
199+
add_subdirectory(crypto/tests)
200+
endif()
198201

199202
# additional convenience targets for Unix only
200203
if(UNIX)

Makefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ lib:
1919

2020
tests: lib
2121
$(MAKE) -C tests
22+
ifdef USE_CRYPTO_SUBMODULE
23+
$(MAKE) CRYPTO_INCLUDES:="-I../../include -I../include" -C crypto/tests
24+
endif
2225

2326
ifndef WINDOWS
2427
install: no_test
@@ -103,6 +106,9 @@ endif
103106

104107
check: lib tests
105108
$(MAKE) -C tests check
109+
ifdef USE_CRYPTO_SUBMODULE
110+
$(MAKE) CRYPTO_INCLUDES:="-I../../include -I../include" -C crypto/tests check
111+
endif
106112

107113
test: check
108114

crypto

Submodule crypto updated 121 files

include/mbedtls/check_config.h

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -525,26 +525,25 @@
525525
#error "MBEDTLS_PSA_CRYPTO_SPM defined, but not all prerequisites"
526526
#endif
527527

528-
#if defined(MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C) && defined(MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C)
529-
#error "Only one of MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C or MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C can be defined"
530-
#endif
531-
532528
#if defined(MBEDTLS_PSA_CRYPTO_STORAGE_C) && \
533-
!( defined(MBEDTLS_PSA_CRYPTO_C) && \
534-
( defined(MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C) || \
535-
defined(MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C) ) )
529+
! defined(MBEDTLS_PSA_CRYPTO_C)
536530
#error "MBEDTLS_PSA_CRYPTO_STORAGE_C defined, but not all prerequisites"
537531
#endif
538532

539-
#if defined(MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C) && \
540-
!( defined(MBEDTLS_PSA_CRYPTO_STORAGE_C) && \
541-
defined(MBEDTLS_FS_IO) )
542-
#error "MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C defined, but not all prerequisites"
533+
#if defined(MBEDTLS_PSA_INJECT_ENTROPY) && \
534+
!( defined(MBEDTLS_PSA_CRYPTO_STORAGE_C) && \
535+
defined(MBEDTLS_ENTROPY_NV_SEED) )
536+
#error "MBEDTLS_PSA_INJECT_ENTROPY defined, but not all prerequisites"
537+
#endif
538+
539+
#if defined(MBEDTLS_PSA_INJECT_ENTROPY) && \
540+
!defined(MBEDTLS_NO_DEFAULT_ENTROPY_SOURCES)
541+
#error "MBEDTLS_PSA_INJECT_ENTROPY is not compatible with actual entropy sources"
543542
#endif
544543

545-
#if defined(MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C) && \
546-
! defined(MBEDTLS_PSA_CRYPTO_STORAGE_C)
547-
#error "MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C defined, but not all prerequisites"
544+
#if defined(MBEDTLS_PSA_ITS_FILE_C) && \
545+
!defined(MBEDTLS_FS_IO)
546+
#error "MBEDTLS_PSA_ITS_FILE_C defined, but not all prerequisites"
548547
#endif
549548

550549
#if defined(MBEDTLS_RSA_C) && ( !defined(MBEDTLS_BIGNUM_C) || \

include/mbedtls/config.h

Lines changed: 17 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1237,14 +1237,17 @@
12371237
//#define MBEDTLS_PSA_CRYPTO_SPM
12381238

12391239
/**
1240-
* \def MBEDTLS_PSA_HAS_ITS_IO
1240+
* \def MBEDTLS_PSA_INJECT_ENTROPY
12411241
*
1242-
* Enable the non-volatile secure storage usage.
1242+
* Enable support for entropy injection at first boot. This feature is
1243+
* required on systems that do not have a built-in entropy source (TRNG).
1244+
* This feature is currently not supported on systems that have a built-in
1245+
* entropy source.
12431246
*
1244-
* This is crucial on systems that do not have a HW TRNG support.
1247+
* Requires: MBEDTLS_PSA_CRYPTO_STORAGE_C, MBEDTLS_ENTROPY_NV_SEED
12451248
*
12461249
*/
1247-
//#define MBEDTLS_PSA_HAS_ITS_IO
1250+
//#define MBEDTLS_PSA_INJECT_ENTROPY
12481251

12491252
/**
12501253
* \def MBEDTLS_RSA_NO_CRT
@@ -2741,40 +2744,26 @@
27412744
*
27422745
* Enable the Platform Security Architecture persistent key storage.
27432746
*
2744-
* Module: library/psa_crypto_storage.c
2745-
*
2746-
* Requires: MBEDTLS_PSA_CRYPTO_C and one of either
2747-
* MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C or MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C
2748-
* (but not both)
2747+
* Module: crypto/library/psa_crypto_storage.c
27492748
*
2749+
* Requires: MBEDTLS_PSA_CRYPTO_C,
2750+
* either MBEDTLS_PSA_ITS_FILE_C or a native implementation of
2751+
* the PSA ITS interface
27502752
*/
27512753
//#define MBEDTLS_PSA_CRYPTO_STORAGE_C
27522754

27532755
/**
2754-
* \def MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C
2755-
*
2756-
* Enable persistent key storage over files for the
2757-
* Platform Security Architecture cryptography API.
2758-
*
2759-
* Module: library/psa_crypto_storage_file.c
2760-
*
2761-
* Requires: MBEDTLS_PSA_CRYPTO_C, MBEDTLS_FS_IO
2762-
*
2763-
*/
2764-
//#define MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C
2765-
2766-
/**
2767-
* \def MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C
2756+
* \def MBEDTLS_PSA_ITS_FILE_C
27682757
*
2769-
* Enable persistent key storage over PSA ITS for the
2770-
* Platform Security Architecture cryptography API.
2758+
* Enable the emulation of the Platform Security Architecture
2759+
* Internal Trusted Storage (PSA ITS) over files.
27712760
*
2772-
* Module: library/psa_crypto_storage_its.c
2761+
* Module: crypto/library/psa_its_file.c
27732762
*
2774-
* Requires: MBEDTLS_PSA_CRYPTO_C, MBEDTLS_PSA_HAS_ITS_IO
2763+
* Requires: MBEDTLS_FS_IO
27752764
*
27762765
*/
2777-
//#define MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C
2766+
//#define MBEDTLS_PSA_ITS_FILE_C
27782767

27792768
/**
27802769
* \def MBEDTLS_RIPEMD160_C

library/version_features.c

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -429,9 +429,9 @@ static const char *features[] = {
429429
#if defined(MBEDTLS_PSA_CRYPTO_SPM)
430430
"MBEDTLS_PSA_CRYPTO_SPM",
431431
#endif /* MBEDTLS_PSA_CRYPTO_SPM */
432-
#if defined(MBEDTLS_PSA_HAS_ITS_IO)
433-
"MBEDTLS_PSA_HAS_ITS_IO",
434-
#endif /* MBEDTLS_PSA_HAS_ITS_IO */
432+
#if defined(MBEDTLS_PSA_INJECT_ENTROPY)
433+
"MBEDTLS_PSA_INJECT_ENTROPY",
434+
#endif /* MBEDTLS_PSA_INJECT_ENTROPY */
435435
#if defined(MBEDTLS_RSA_NO_CRT)
436436
"MBEDTLS_RSA_NO_CRT",
437437
#endif /* MBEDTLS_RSA_NO_CRT */
@@ -708,12 +708,9 @@ static const char *features[] = {
708708
#if defined(MBEDTLS_PSA_CRYPTO_STORAGE_C)
709709
"MBEDTLS_PSA_CRYPTO_STORAGE_C",
710710
#endif /* MBEDTLS_PSA_CRYPTO_STORAGE_C */
711-
#if defined(MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C)
712-
"MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C",
713-
#endif /* MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C */
714-
#if defined(MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C)
715-
"MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C",
716-
#endif /* MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C */
711+
#if defined(MBEDTLS_PSA_ITS_FILE_C)
712+
"MBEDTLS_PSA_ITS_FILE_C",
713+
#endif /* MBEDTLS_PSA_ITS_FILE_C */
717714
#if defined(MBEDTLS_RIPEMD160_C)
718715
"MBEDTLS_RIPEMD160_C",
719716
#endif /* MBEDTLS_RIPEMD160_C */

programs/ssl/query_config.c

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1186,13 +1186,13 @@ int query_config( const char *config )
11861186
}
11871187
#endif /* MBEDTLS_PSA_CRYPTO_SPM */
11881188

1189-
#if defined(MBEDTLS_PSA_HAS_ITS_IO)
1190-
if( strcmp( "MBEDTLS_PSA_HAS_ITS_IO", config ) == 0 )
1189+
#if defined(MBEDTLS_PSA_INJECT_ENTROPY)
1190+
if( strcmp( "MBEDTLS_PSA_INJECT_ENTROPY", config ) == 0 )
11911191
{
1192-
MACRO_EXPANSION_TO_STR( MBEDTLS_PSA_HAS_ITS_IO );
1192+
MACRO_EXPANSION_TO_STR( MBEDTLS_PSA_INJECT_ENTROPY );
11931193
return( 0 );
11941194
}
1195-
#endif /* MBEDTLS_PSA_HAS_ITS_IO */
1195+
#endif /* MBEDTLS_PSA_INJECT_ENTROPY */
11961196

11971197
#if defined(MBEDTLS_RSA_NO_CRT)
11981198
if( strcmp( "MBEDTLS_RSA_NO_CRT", config ) == 0 )
@@ -1930,21 +1930,13 @@ int query_config( const char *config )
19301930
}
19311931
#endif /* MBEDTLS_PSA_CRYPTO_STORAGE_C */
19321932

1933-
#if defined(MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C)
1934-
if( strcmp( "MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C", config ) == 0 )
1933+
#if defined(MBEDTLS_PSA_ITS_FILE_C)
1934+
if( strcmp( "MBEDTLS_PSA_ITS_FILE_C", config ) == 0 )
19351935
{
1936-
MACRO_EXPANSION_TO_STR( MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C );
1936+
MACRO_EXPANSION_TO_STR( MBEDTLS_PSA_ITS_FILE_C );
19371937
return( 0 );
19381938
}
1939-
#endif /* MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C */
1940-
1941-
#if defined(MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C)
1942-
if( strcmp( "MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C", config ) == 0 )
1943-
{
1944-
MACRO_EXPANSION_TO_STR( MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C );
1945-
return( 0 );
1946-
}
1947-
#endif /* MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C */
1939+
#endif /* MBEDTLS_PSA_ITS_FILE_C */
19481940

19491941
#if defined(MBEDTLS_RIPEMD160_C)
19501942
if( strcmp( "MBEDTLS_RIPEMD160_C", config ) == 0 )

scripts/config.pl

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,9 @@
4141
# MBEDTLS_USE_PSA_CRYPTO
4242
# - experimental, and more an alternative implementation than a feature
4343
# MBEDTLS_PSA_CRYPTO_STORAGE_C
44-
# MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C
45-
# MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C
44+
# MBEDTLS_PSA_ITS_FILE_C
4645
# MBEDTLS_PSA_CRYPTO_SPM
47-
# MBEDTLS_PSA_HAS_ITS_IO
46+
# MBEDTLS_PSA_INJECT_ENTROPY
4847
# and any symbol beginning _ALT
4948
#
5049

@@ -109,10 +108,9 @@
109108
MBEDTLS_NO_64BIT_MULTIPLICATION
110109
MBEDTLS_USE_PSA_CRYPTO
111110
MBEDTLS_PSA_CRYPTO_STORAGE_C
112-
MBEDTLS_PSA_CRYPTO_STORAGE_FILE_C
113-
MBEDTLS_PSA_CRYPTO_STORAGE_ITS_C
111+
MBEDTLS_PSA_ITS_FILE_C
114112
MBEDTLS_PSA_CRYPTO_SPM
115-
MBEDTLS_PSA_HAS_ITS_IO
113+
MBEDTLS_PSA_INJECT_ENTROPY
116114
_ALT\s*$
117115
);
118116

tests/CMakeLists.txt

Lines changed: 69 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -60,76 +60,78 @@ if(MSVC)
6060
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX-")
6161
endif(MSVC)
6262

63-
add_test_suite(aes aes.ecb)
64-
add_test_suite(aes aes.cbc)
65-
add_test_suite(aes aes.cfb)
66-
add_test_suite(aes aes.ofb)
67-
add_test_suite(aes aes.rest)
68-
add_test_suite(aes aes.xts)
69-
add_test_suite(arc4)
70-
add_test_suite(aria)
71-
add_test_suite(asn1write)
72-
add_test_suite(base64)
73-
add_test_suite(blowfish)
74-
add_test_suite(camellia)
75-
add_test_suite(ccm)
76-
add_test_suite(chacha20)
77-
add_test_suite(chachapoly)
78-
add_test_suite(cipher cipher.aes)
79-
add_test_suite(cipher cipher.arc4)
80-
add_test_suite(cipher cipher.blowfish)
81-
add_test_suite(cipher cipher.camellia)
82-
add_test_suite(cipher cipher.ccm)
83-
add_test_suite(cipher cipher.chacha20)
84-
add_test_suite(cipher cipher.chachapoly)
85-
add_test_suite(cipher cipher.des)
86-
add_test_suite(cipher cipher.gcm)
87-
add_test_suite(cipher cipher.misc)
88-
add_test_suite(cipher cipher.null)
89-
add_test_suite(cipher cipher.padding)
90-
add_test_suite(cmac)
91-
add_test_suite(ctr_drbg)
63+
if(NOT USE_CRYPTO_SUBMODULE)
64+
add_test_suite(aes aes.ecb)
65+
add_test_suite(aes aes.cbc)
66+
add_test_suite(aes aes.cfb)
67+
add_test_suite(aes aes.ofb)
68+
add_test_suite(aes aes.rest)
69+
add_test_suite(aes aes.xts)
70+
add_test_suite(arc4)
71+
add_test_suite(aria)
72+
add_test_suite(asn1write)
73+
add_test_suite(base64)
74+
add_test_suite(blowfish)
75+
add_test_suite(camellia)
76+
add_test_suite(ccm)
77+
add_test_suite(chacha20)
78+
add_test_suite(chachapoly)
79+
add_test_suite(cipher cipher.aes)
80+
add_test_suite(cipher cipher.arc4)
81+
add_test_suite(cipher cipher.blowfish)
82+
add_test_suite(cipher cipher.camellia)
83+
add_test_suite(cipher cipher.ccm)
84+
add_test_suite(cipher cipher.chacha20)
85+
add_test_suite(cipher cipher.chachapoly)
86+
add_test_suite(cipher cipher.des)
87+
add_test_suite(cipher cipher.gcm)
88+
add_test_suite(cipher cipher.misc)
89+
add_test_suite(cipher cipher.null)
90+
add_test_suite(cipher cipher.padding)
91+
add_test_suite(cmac)
92+
add_test_suite(ctr_drbg)
93+
add_test_suite(des)
94+
add_test_suite(dhm)
95+
add_test_suite(ecdh)
96+
add_test_suite(ecdsa)
97+
add_test_suite(ecjpake)
98+
add_test_suite(ecp)
99+
add_test_suite(entropy)
100+
add_test_suite(error)
101+
add_test_suite(gcm gcm.aes128_en)
102+
add_test_suite(gcm gcm.aes192_en)
103+
add_test_suite(gcm gcm.aes256_en)
104+
add_test_suite(gcm gcm.aes128_de)
105+
add_test_suite(gcm gcm.aes192_de)
106+
add_test_suite(gcm gcm.aes256_de)
107+
add_test_suite(gcm gcm.camellia)
108+
add_test_suite(gcm gcm.misc)
109+
add_test_suite(hkdf)
110+
add_test_suite(hmac_drbg hmac_drbg.misc)
111+
add_test_suite(hmac_drbg hmac_drbg.no_reseed)
112+
add_test_suite(hmac_drbg hmac_drbg.nopr)
113+
add_test_suite(hmac_drbg hmac_drbg.pr)
114+
add_test_suite(md)
115+
add_test_suite(mdx)
116+
add_test_suite(memory_buffer_alloc)
117+
add_test_suite(mpi)
118+
add_test_suite(nist_kw)
119+
add_test_suite(pem)
120+
add_test_suite(pkcs1_v15)
121+
add_test_suite(pkcs1_v21)
122+
add_test_suite(pkcs5)
123+
add_test_suite(pk)
124+
add_test_suite(pkparse)
125+
add_test_suite(pkwrite)
126+
add_test_suite(poly1305)
127+
add_test_suite(shax)
128+
add_test_suite(timing)
129+
add_test_suite(rsa)
130+
add_test_suite(xtea)
131+
endif()
92132
add_test_suite(debug)
93-
add_test_suite(des)
94-
add_test_suite(dhm)
95-
add_test_suite(ecdh)
96-
add_test_suite(ecdsa)
97-
add_test_suite(ecjpake)
98-
add_test_suite(ecp)
99-
add_test_suite(entropy)
100-
add_test_suite(error)
101-
add_test_suite(gcm gcm.aes128_en)
102-
add_test_suite(gcm gcm.aes192_en)
103-
add_test_suite(gcm gcm.aes256_en)
104-
add_test_suite(gcm gcm.aes128_de)
105-
add_test_suite(gcm gcm.aes192_de)
106-
add_test_suite(gcm gcm.aes256_de)
107-
add_test_suite(gcm gcm.camellia)
108-
add_test_suite(gcm gcm.misc)
109-
add_test_suite(hkdf)
110-
add_test_suite(hmac_drbg hmac_drbg.misc)
111-
add_test_suite(hmac_drbg hmac_drbg.no_reseed)
112-
add_test_suite(hmac_drbg hmac_drbg.nopr)
113-
add_test_suite(hmac_drbg hmac_drbg.pr)
114-
add_test_suite(md)
115-
add_test_suite(mdx)
116-
add_test_suite(memory_buffer_alloc)
117-
add_test_suite(mpi)
118-
add_test_suite(nist_kw)
119-
add_test_suite(pem)
120-
add_test_suite(pkcs1_v15)
121-
add_test_suite(pkcs1_v21)
122-
add_test_suite(pkcs5)
123-
add_test_suite(pk)
124-
add_test_suite(pkparse)
125-
add_test_suite(pkwrite)
126-
add_test_suite(poly1305)
127-
add_test_suite(shax)
128133
add_test_suite(ssl)
129-
add_test_suite(timing)
130-
add_test_suite(rsa)
131134
add_test_suite(version)
132-
add_test_suite(xtea)
133135
add_test_suite(x509parse)
134136
add_test_suite(x509write)
135137

0 commit comments

Comments
 (0)