Skip to content

Commit

Permalink
modules: mbedTLS: Add separate Kconfig entry for MBEDTLS_HAVE_TIME_DATE
Browse files Browse the repository at this point in the history
Currently the MBEDTLS_HAVE_TIME_DATE mbedTLS option is enabled based on
the CONFIG_POSIX_API option. This doesn't seem right, since the enabling
the POSIX API does not guarantee that there is a valid time source in
the system. This was the case for the qemu_x86 platform, where enabling
POSIX_API caused TLS handshake failures due to certificate validation
errors caused by no valid time avaialble in the system.

Fix this by adding a specific KConfig entry for date/time configuration
in mbedTLS. Applications that need to enforce date verification in
mbedTLS should enable it explicitly instead of relying on the
non-obvious implicit configuration.

Fixes zephyrproject-rtos#35401

Signed-off-by: Robert Lubos <[email protected]>
  • Loading branch information
rlubos committed May 20, 2021
1 parent 0388ebb commit d030530
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
7 changes: 7 additions & 0 deletions modules/mbedtls/Kconfig.tls-generic
Original file line number Diff line number Diff line change
Expand Up @@ -354,4 +354,11 @@ config MBEDTLS_PK_WRITE_C
help
Enable generic public key write functions.

config MBEDTLS_HAVE_TIME_DATE
bool "Enable date/time validation in mbed TLS"
help
System has time.h, time(), and an implementation for gmtime_r().
There also need to be a valid time source in the system, as mbedTLS
expects a valid date/time for certificate validation."

endmenu
3 changes: 1 addition & 2 deletions modules/mbedtls/configs/config-tls-generic.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@
#define MBEDTLS_HAVE_ASM
#endif

/* If we build with POSIX API, automatically use time(), etc. */
#if defined(CONFIG_POSIX_API)
#if defined(CONFIG_MBEDTLS_HAVE_TIME_DATE)
#define MBEDTLS_HAVE_TIME
#define MBEDTLS_HAVE_TIME_DATE
#endif
Expand Down

0 comments on commit d030530

Please sign in to comment.