Skip to content

Commit 20ed869

Browse files
authored
Merge pull request #10432 from danielinux/arduino-unor4wifi-flash-fix
Arduino UNO: force USE_CERT_BUFFERS_256 to fit in flash
2 parents 7d1516f + 347553c commit 20ed869

2 files changed

Lines changed: 56 additions & 0 deletions

File tree

.wolfssl_known_macro_extras

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ ARDUINO_SAM_DUE
2626
ARDUINO_SEEED_XIAO
2727
ARDUINO_TEENSY40
2828
ARDUINO_TEENSY41
29+
ARDUINO_UNOR4_WIFI
2930
ASN_DUMP_OID
3031
ASN_TEMPLATE_SKIP_ISCA_CHECK
3132
ATCAPRINTF

examples/configs/user_settings_arduino.h

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,12 @@
180180
/* WOLFSSL_SEND_HRR_COOKIE is needed to use DTLS 1.3 server */
181181
#define WOLFSSL_SEND_HRR_COOKIE
182182
#endif
183+
#elif defined(ARDUINO_UNOR4_WIFI)
184+
/*
185+
* UNO R4 WiFi is now just over the flash limit in the client sketch.
186+
* Use the smaller ECC-256 built-in cert set to keep the examples fitting.
187+
*/
188+
#define USE_CERT_BUFFERS_256
183189
#elif defined (__AVR__) || defined(__AVR_ARCH__) || defined(__MEGAAVR__)
184190
/* Do not enable TLS on platforms without networking */
185191

@@ -588,6 +594,9 @@
588594
#ifdef USE_CERT_BUFFERS_1024
589595
#error "USE_CERT_BUFFERS_1024 is already defined. Pick one."
590596
#endif
597+
#ifdef USE_CERT_BUFFERS_256
598+
#error "USE_CERT_BUFFERS_256 is already defined. Pick one."
599+
#endif
591600
#include <wolfssl/certs_test.h>
592601
#define CTX_CA_CERT ca_cert_der_2048
593602
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048
@@ -610,6 +619,9 @@
610619
#ifdef USE_CERT_BUFFERS_2048
611620
#error "USE_CERT_BUFFERS_2048 is already defined. Pick one."
612621
#endif
622+
#ifdef USE_CERT_BUFFERS_256
623+
#error "USE_CERT_BUFFERS_256 is already defined. Pick one."
624+
#endif
613625
#include <wolfssl/certs_test.h>
614626
#define CTX_CA_CERT ca_cert_der_1024
615627
#define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024
@@ -628,8 +640,51 @@
628640
#define CTX_SERVER_KEY server_key_der_1024
629641
#define CTX_SERVER_KEY_SIZE sizeof_server_key_der_1024
630642
#define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1
643+
#elif defined(USE_CERT_BUFFERS_256)
644+
#ifdef USE_CERT_BUFFERS_2048
645+
#error "USE_CERT_BUFFERS_2048 is already defined. Pick one."
646+
#endif
647+
#ifdef USE_CERT_BUFFERS_1024
648+
#error "USE_CERT_BUFFERS_1024 is already defined. Pick one."
649+
#endif
650+
#include <wolfssl/certs_test.h>
651+
#define CTX_CA_CERT ca_ecc_cert_der_256
652+
#define CTX_CA_CERT_SIZE sizeof_ca_ecc_cert_der_256
653+
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
654+
655+
#define CTX_CLIENT_CERT cliecc_cert_der_256
656+
#define CTX_CLIENT_CERT_SIZE sizeof_cliecc_cert_der_256
657+
#define CTX_CLIENT_CERT_TYPE WOLFSSL_FILETYPE_ASN1
658+
#define CTX_CLIENT_KEY ecc_clikey_der_256
659+
#define CTX_CLIENT_KEY_SIZE sizeof_ecc_clikey_der_256
660+
#define CTX_CLIENT_KEY_TYPE WOLFSSL_FILETYPE_ASN1
661+
662+
#define CTX_SERVER_CERT serv_ecc_der_256
663+
#define CTX_SERVER_CERT_SIZE sizeof_serv_ecc_der_256
664+
#define CTX_SERVER_CERT_TYPE WOLFSSL_FILETYPE_ASN1
665+
#define CTX_SERVER_KEY ecc_key_der_256
666+
#define CTX_SERVER_KEY_SIZE sizeof_ecc_key_der_256
667+
#define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1
631668
#else
632669
#define USE_CERT_BUFFERS_256
670+
#include <wolfssl/certs_test.h>
671+
#define CTX_CA_CERT ca_ecc_cert_der_256
672+
#define CTX_CA_CERT_SIZE sizeof_ca_ecc_cert_der_256
673+
#define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
674+
675+
#define CTX_CLIENT_CERT cliecc_cert_der_256
676+
#define CTX_CLIENT_CERT_SIZE sizeof_cliecc_cert_der_256
677+
#define CTX_CLIENT_CERT_TYPE WOLFSSL_FILETYPE_ASN1
678+
#define CTX_CLIENT_KEY ecc_clikey_der_256
679+
#define CTX_CLIENT_KEY_SIZE sizeof_ecc_clikey_der_256
680+
#define CTX_CLIENT_KEY_TYPE WOLFSSL_FILETYPE_ASN1
681+
682+
#define CTX_SERVER_CERT serv_ecc_der_256
683+
#define CTX_SERVER_CERT_SIZE sizeof_serv_ecc_der_256
684+
#define CTX_SERVER_CERT_TYPE WOLFSSL_FILETYPE_ASN1
685+
#define CTX_SERVER_KEY ecc_key_der_256
686+
#define CTX_SERVER_KEY_SIZE sizeof_ecc_key_der_256
687+
#define CTX_SERVER_KEY_TYPE WOLFSSL_FILETYPE_ASN1
633688
#endif
634689
#endif
635690

0 commit comments

Comments
 (0)