Hi Sean,
Finally, in addition to "AES128-GCM-SHA256" the cipher "ECDHE-RSA-AES128-GCM-SHA256" is also working.
The cipher "ECDHE-RSA-AES128-SHA" still goes through TimingPadVerify() ending with error.
My user_settings.h is :
// =========================================================
// HARDWARE & DEVELOPMENT TOOLS
// ---------------------------------------------------------
#define FREERTOS
#define WOLFSSL_LWIP
#define WOLFSSL_IAR_ARM
#define NO_WOLFSSL_MEMORY
#define NO_WOLFSSL_SMALL_STACK
// =========================================================
// WOLFSSL CIPHER SUITES
// ---------------------------------------------------------
#define WC_NO_HARDEN
#define WOLFSSL_STATIC_RSA
#define HAVE_AESGCM
#define HAVE_ECC
#define HAVE_DH
#define USE_FAST_MATH
// =========================================================
// FatFs ChaN FILE SYSTEM
// ---------------------------------------------------------
#include "FreeRTOS.h"
#include "semphr.h"
#include "ff.h"
#include "GstFS.h"
#define NO_STDIO_FILESYSTEM
#define NO_WOLFSSL_DIR
#define WOLFSSL_USER_FILESYSTEM
#define FILE FIL
#define XFILE FIL*
#define XFOPEN GFS_fopen
#define XFSEEK GFS_fseek
#define XFTELL GFS_ftell
#define XREWIND GFS_rewind
#define XFREAD GFS_fread
#define XFWRITE GFS_fwrite
#define XFCLOSE GFS_fclose
#define XSEEK_END GFS_SEEK_END
#define XBADFILE NULL
// =========================================================
// STRINGS : To have wolfSSL in some kind of Cooperative mode
// ---------------------------------------------------------
#define STRING_USER
#include <string.h>
#include "WSSLPort.h"
#define XMEMCPY(d,s,l) WSSLP_Memcpy((d),(s),(l))
#define XMEMSET(b,c,l) memset((b),(c),(l))
#define XMEMCMP(s1,s2,n) memcmp((s1),(s2),(n))
#define XMEMMOVE(d,s,l) memmove((d),(s),(l))
#define XSTRLEN(s1) strlen((s1))
#define XSTRNCPY(s1,s2,n) strncpy((s1),(s2),(n))
/* strstr, strncmp, and strncat only used by wolfSSL proper,
* not required for wolfCrypt only */
#define XSTRSTR(s1,s2) strstr((s1),(s2))
#define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n))
#define XSTRNCMP(s1,s2,n) strncmp((s1),(s2),(n))
#define XSTRNCAT(s1,s2,n) strncat((s1),(s2),(n))
#define XSTRNCASECMP(s1,s2,n) strncasecmp((s1),(s2),(n))
// =========================================================
// Memory
// ---------------------------------------------------------
#define XMALLOC_OVERRIDE
#include "DrvMem.h"
#define XMALLOC(s, h, t) ((void)h, (void)t, DMEM_Malloc((s)))
#define XFREE(p, h, t) ((void)h, (void)t, DMEM_Free((p)))
#define XREALLOC(p, n, h, t) ((void)h, (void)t, DMEM_Realloc((p), (n))
// =========================================================
// RandomSeed
// ---------------------------------------------------------
#define CUSTOM_RAND_GENERATE_SEED(output, sz) WSSLP_GenerateSeed(output, sz)
Best regards.