Skip to content

Commit b76c35d

Browse files
rluboscarlescufi
authored andcommitted
modules: mbedtls: Replace select statement with depends on for EC
Instead of using "select" on certain EC configurations, which is considered unsafe for various reasons, use a "depends on" and rely on the user to set a proper configuration in the config file. Update the respective project configurations to comply with the new configuration scheme. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
1 parent 0da3b69 commit b76c35d

File tree

4 files changed

+21
-11
lines changed

4 files changed

+21
-11
lines changed

drivers/wifi/esp32/Kconfig.esp32

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ menuconfig WIFI_ESP32
1212
select MBEDTLS_ENTROPY_ENABLED
1313
select MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
1414
select MBEDTLS_ECP_ALL_ENABLED
15+
select MBEDTLS_ECDH_C
16+
select MBEDTLS_ECDSA_C
17+
select MBEDTLS_ECP_C
1518
help
1619
Enable ESP32 SoC WiFi support. Only supported in single
1720
core mode because the network stack is not aware of SMP

modules/mbedtls/Kconfig.tls-generic

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ config MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED
6969

7070
config MBEDTLS_KEY_EXCHANGE_ECDHE_PSK_ENABLED
7171
bool "ECDHE-PSK based ciphersuite modes"
72-
select MBEDTLS_ECDH_C
72+
depends on MBEDTLS_ECDH_C
7373

7474
config MBEDTLS_KEY_EXCHANGE_RSA_PSK_ENABLED
7575
bool "RSA-PSK based ciphersuite modes"
@@ -97,42 +97,40 @@ config MBEDTLS_KEY_EXCHANGE_DHE_RSA_ENABLED
9797

9898
config MBEDTLS_KEY_EXCHANGE_ECDHE_RSA_ENABLED
9999
bool "ECDHE-RSA based ciphersuite modes"
100-
select MBEDTLS_ECDH_C
100+
depends on MBEDTLS_ECDH_C
101101

102102
config MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED
103103
bool "ECDHE-ECDSA based ciphersuite modes"
104-
select MBEDTLS_ECDH_C
105-
select MBEDTLS_ECDSA_C
104+
depends on MBEDTLS_ECDH_C && MBEDTLS_ECDSA_C
106105

107106
config MBEDTLS_KEY_EXCHANGE_ECDH_ECDSA_ENABLED
108107
bool "ECDH-ECDSA based ciphersuite modes"
109-
select MBEDTLS_ECDH_C
110-
select MBEDTLS_ECDSA_C
108+
depends on MBEDTLS_ECDH_C && MBEDTLS_ECDSA_C
111109

112110
config MBEDTLS_ECDSA_DETERMINISTIC
113111
bool "Deterministic ECDSA (RFC 6979)"
114112

115113
config MBEDTLS_KEY_EXCHANGE_ECDH_RSA_ENABLED
116114
bool "ECDH-RSA based ciphersuite modes"
117-
select MBEDTLS_ECDH_C
115+
depends on MBEDTLS_ECDH_C
118116

119117
config MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
120118
bool "ECJPAKE based ciphersuite modes"
121-
select MBEDTLS_ECJPAKE_C
119+
depends on MBEDTLS_ECJPAKE_C
122120

123121
comment "Elliptic curve libraries"
124122

125123
config MBEDTLS_ECDH_C
126124
bool "Elliptic curve Diffie-Hellman library"
127-
select MBEDTLS_ECP_C
125+
depends on MBEDTLS_ECP_C
128126

129127
config MBEDTLS_ECDSA_C
130128
bool "Elliptic curve DSA library"
131-
select MBEDTLS_ECP_C
129+
depends on MBEDTLS_ECP_C
132130

133131
config MBEDTLS_ECJPAKE_C
134132
bool "Elliptic curve J-PAKE library"
135-
select MBEDTLS_ECP_C
133+
depends on MBEDTLS_ECP_C
136134

137135
config MBEDTLS_ECP_C
138136
bool "Elliptic curve over GF(p) library"

subsys/net/l2/openthread/Kconfig

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@ config OPENTHREAD_MBEDTLS
191191
select MBEDTLS_TLS_VERSION_1_2 if OPENTHREAD_COMMISSIONER || OPENTHREAD_JOINER
192192
select MBEDTLS_DTLS if OPENTHREAD_COMMISSIONER || OPENTHREAD_JOINER
193193
select MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED if OPENTHREAD_COMMISSIONER || OPENTHREAD_JOINER
194+
select MBEDTLS_ECJPAKE_C if OPENTHREAD_COMMISSIONER || OPENTHREAD_JOINER
194195
select MBEDTLS_ECP_DP_SECP256R1_ENABLED if OPENTHREAD_COMMISSIONER || OPENTHREAD_JOINER || \
195196
OPENTHREAD_SRP_CLIENT || OPENTHREAD_SRP_SERVER
196197
select MBEDTLS_ECP_NIST_OPTIM if OPENTHREAD_COMMISSIONER || OPENTHREAD_JOINER
@@ -199,8 +200,12 @@ config OPENTHREAD_MBEDTLS
199200
select MBEDTLS_HMAC_DRBG_ENABLED if OPENTHREAD_COMMISSIONER || OPENTHREAD_JOINER || \
200201
OPENTHREAD_SRP_CLIENT || OPENTHREAD_SRP_SERVER
201202
select MBEDTLS_KEY_EXCHANGE_ECDHE_ECDSA_ENABLED if OPENTHREAD_ECDSA
203+
select MBEDTLS_ECDH_C if OPENTHREAD_ECDSA
204+
select MBEDTLS_ECDSA_C if OPENTHREAD_ECDSA
202205
select MBEDTLS_ECDSA_DETERMINISTIC if OPENTHREAD_ECDSA
203206
select MBEDTLS_PK_WRITE_C if OPENTHREAD_ECDSA
207+
select MBEDTLS_ECP_C if OPENTHREAD_COMMISSIONER || OPENTHREAD_JOINER || OPENTHREAD_ECDSA
208+
204209

205210
config OPENTHREAD_MBEDTLS_LIB_NAME
206211
string "mbedtls lib name"

tests/benchmarks/mbedtls/prj.conf

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,7 @@ CONFIG_MBEDTLS_ECP_ALL_ENABLED=y
2424
CONFIG_MBEDTLS_MAC_ALL_ENABLED=y
2525
CONFIG_MBEDTLS_GENPRIME_ENABLED=y
2626
CONFIG_MBEDTLS_HMAC_DRBG_ENABLED=y
27+
CONFIG_MBEDTLS_ECDH_C=y
28+
CONFIG_MBEDTLS_ECDSA_C=y
29+
CONFIG_MBEDTLS_ECJPAKE_C=y
30+
CONFIG_MBEDTLS_ECP_C=y

0 commit comments

Comments
 (0)