Skip to content

Commit 7ec924d

Browse files
security: Allow ssl handshake without hostname for OT cases
Allow ssl handshake without hostname for OpenThread CoAPs and TCAT. These cases are isolated as handshake is done in internal network with CA signed certificates. Signed-off-by: Maciej Baczmanski <[email protected]>
1 parent fde1f78 commit 7ec924d

File tree

4 files changed

+17
-0
lines changed

4 files changed

+17
-0
lines changed

modules/openthread/Kconfig.features

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ config OPENTHREAD_BACKBONE_ROUTER_MULTICAST_ROUTING
4444

4545
config OPENTHREAD_BLE_TCAT
4646
bool "BLE TCAT support"
47+
select MBEDTLS_SSL_CLI_ALLOW_WEAK_CERTIFICATE_VERIFICATION_WITHOUT_HOSTNAME
4748
select EXPERIMENTAL
4849

4950
config OPENTHREAD_BORDER_AGENT
@@ -90,6 +91,7 @@ config OPENTHREAD_COAP_OBSERVE
9091

9192
config OPENTHREAD_COAPS
9293
bool "Secure CoAP API support"
94+
select MBEDTLS_SSL_CLI_ALLOW_WEAK_CERTIFICATE_VERIFICATION_WITHOUT_HOSTNAME
9395
depends on OPENTHREAD_COAP
9496

9597
config OPENTHREAD_COMMISSIONER

subsys/nrf_security/Kconfig.tls

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,15 @@ config MBEDTLS_SSL_DTLS_BADMAC_LIMIT
222222

223223
endif # MBEDTLS_SSL_PROTO_DTLS
224224

225+
# This config can be set only for OpenThread's TCAT and CoAPs, because these are isolated cases,
226+
# when X.509 certificate-based handshake is done in an internal network with full trust.
227+
# KRKNWK-20181
228+
config MBEDTLS_SSL_CLI_ALLOW_WEAK_CERTIFICATE_VERIFICATION_WITHOUT_HOSTNAME
229+
bool
230+
depends on OPENTHREAD_BLE_TCAT || OPENTHREAD_COAPS
231+
help
232+
Allow weak certificate verification without hostname check.
233+
225234
config MBEDTLS_SSL_ALL_ALERT_MESSAGES
226235
bool
227236
prompt "Enable all SSL alert messages"

subsys/nrf_security/cmake/nrf_config.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,9 @@ if (NOT MBEDTLS_PSA_CRYPTO_SPM)
147147
kconfig_check_and_set_base(MBEDTLS_X509_CRT_WRITE_C)
148148
kconfig_check_and_set_base(MBEDTLS_X509_CSR_WRITE_C)
149149

150+
# KRKNWK-20181
151+
kconfig_check_and_set_base(MBEDTLS_SSL_CLI_ALLOW_WEAK_CERTIFICATE_VERIFICATION_WITHOUT_HOSTNAME)
152+
150153
# TLS key exchange
151154
kconfig_check_and_set_base(MBEDTLS_KEY_EXCHANGE_PSK_ENABLED)
152155
kconfig_check_and_set_base(MBEDTLS_KEY_EXCHANGE_DHE_PSK_ENABLED)

subsys/nrf_security/configs/nrf-config.h.template

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,4 +177,7 @@
177177
#define MBEDTLS_CIPHER_MODE_CBC
178178
#endif
179179

180+
/* KRKNWK-20181 */
181+
#cmakedefine MBEDTLS_SSL_CLI_ALLOW_WEAK_CERTIFICATE_VERIFICATION_WITHOUT_HOSTNAME
182+
180183
#endif /* MBEDTLS_CONFIG_FILE_H */

0 commit comments

Comments
 (0)