all: Update bindings, ports and tests for mbedtls v3.5.1.

Changes include:

- Some mbedtls source files renamed or deprecated.

- Our `mbedtls_config.h` files are renamed to `mbedtls_config_port.h`, so
  they don't clash with mbedtls's new default configuration file named
  `mbedtls_config.h`.

- MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_KEY_EXCHANGE is deprecated.

- MBEDTLS_HAVE_TIME now requires an `mbedtls_ms_time` function to be
  defined but it's only used for TLSv1.3 (currently not enabled in
  MicroPython so there is a lazy implementation, i.e. seconds * 1000).

- `tests/multi_net/ssl_data.py` is removed (due to deprecation of
  MBEDTLS_TLS_DEFAULT_ALLOW_SHA1_IN_KEY_EXCHANGE), there are the existing
  `ssl_cert_rsa.py` and `sslcontext_server_client.py` tests which do very
  similar, simple SSL data transfer.

- Tests now use an EC key by default (they are smaller and faster), and the
  RSA key has been regenerated due to the old PKCS encoding used by openssl
  rsa command, see
  https://stackoverflow.com/questions/40822328/openssl-rsa-key-pem-and-der-conversion-does-not-match
  (and `tests/README.md` has been updated accordingly).

Signed-off-by: Carlos Gil <carlosgilglez@gmail.com>
This commit is contained in:
Carlosgg
2022-07-30 17:01:56 +01:00
committed by Damien George
parent 92136cbe67
commit f3d1495fd3
37 changed files with 156 additions and 132 deletions

View File

@@ -3,6 +3,6 @@
#define MBEDTLS_ECP_NIST_OPTIM
#include "ports/renesas-ra/mbedtls/mbedtls_config.h"
#include "ports/renesas-ra/mbedtls/mbedtls_config_port.h"
#endif /* MICROPY_INCLUDED_MBEDTLS_CONFIG_BOARD_H */

View File

@@ -30,6 +30,7 @@
#include <time.h>
extern time_t ra_rtctime_seconds(time_t *timer);
#define MBEDTLS_PLATFORM_TIME_MACRO ra_rtctime_seconds
#define MBEDTLS_PLATFORM_MS_TIME_ALT mbedtls_ms_time
// Set MicroPython-specific options.
#define MICROPY_MBEDTLS_CONFIG_BARE_METAL (1)

View File

@@ -25,11 +25,12 @@
*/
#include "rng.h"
#include "mbedtls_config.h"
#include "mbedtls_config_port.h"
#if defined(MBEDTLS_HAVE_TIME) || defined(MBEDTLS_HAVE_TIME_DATE)
#include "rtc.h"
#include "shared/timeutils/timeutils.h"
#include "mbedtls/platform_time.h"
#endif
int mbedtls_hardware_poll(void *data, unsigned char *output, size_t len, size_t *olen) {
@@ -57,6 +58,13 @@ time_t ra_rtctime_seconds(time_t *timer) {
rtc_get_date(&date);
return timeutils_seconds_since_epoch(2000 + date.Year, date.Month, date.Date, time.Hours, time.Minutes, time.Seconds);
}
mbedtls_ms_time_t mbedtls_ms_time(void) {
time_t *tv = NULL;
mbedtls_ms_time_t current_ms;
current_ms = ra_rtctime_seconds(tv) * 1000;
return current_ms;
}
#endif
#if defined(MBEDTLS_HAVE_TIME_DATE)