209209 /* the code is older or does not have application name defined. */
210210#endif /* Example wolfSSL Configuration app settings */
211211
212- /* Experimental Kyber */
213- #ifdef CONFIG_WOLFSSL_ENABLE_KYBER
212+ /* Optional MLKEM (Kyber Post Quantum) */
213+ /* ./configure --enable-mlkem */
214+ /* See Kconfig / menuconfig ESP_WOLFSSL_ENABLE_MLKEM */
215+ #ifdef CONFIG_ESP_WOLFSSL_ENABLE_MLKEM
214216 /* Kyber typically needs a minimum 10K stack */
215- #define WOLFSSL_EXPERIMENTAL_SETTINGS
216217 #define WOLFSSL_HAVE_MLKEM
217218 #define WOLFSSL_WC_MLKEM
218- #define WOLFSSL_SHA3
219+ #define WOLFSSL_SHAKE128
220+ #define WOLFSSL_SHAKE256
221+
222+ /* Old code points to keep compatibility with Kyber Round 3. */
223+ /* ./configure --enable-kyber=all --enable-experimental */
224+ #if defined(CONFIG_WOLFSSL_ENABLE_KYBER )
225+ #define WOLFSSL_MLKEM_KYBER
226+ #define WOLFSSL_EXPERIMENTAL_SETTINGS
227+ #endif
228+
219229 #if defined(CONFIG_IDF_TARGET_ESP8266 )
220230 /* With limited RAM, we'll disable some of the Kyber sizes: */
221231 #define WOLFSSL_NO_KYBER1024
222232 #define WOLFSSL_NO_KYBER768
233+ #define WOLFSSL_NO_ML_KEM_1024
234+ #define WOLFSSL_NO_ML_KEM_768
223235 #define NO_SESSION_CACHE
236+ #else
237+ /* Only needed for older wolfssl versions, see mlkem.h */
238+ #define WOLFSSL_KYBER1024
239+ /* optional alternative sizes: */
240+ /* #define WOLFSSL_KYBER768 */
241+ /* #define WOLFSSL_KYBER512 */
242+ /* -- or disable a specific one: */
243+ /* #define WOLFSSL_NO_ML_KEM_1024 */
244+ /* #define WOLFSSL_NO_ML_KEM_768 */
245+ /* #define WOLFSSL_NO_ML_KEM_512 */
224246 #endif
225247#endif
226248
532554/* Adjust wait-timeout count if you see timeout in RSA HW acceleration.
533555 * Set to very large number and enable WOLFSSL_HW_METRICS to determine max. */
534556#ifndef ESP_RSA_TIMEOUT_CNT
535- #define ESP_RSA_TIMEOUT_CNT 0xFF0000
557+ #define ESP_RSA_TIMEOUT_CNT 0xFF0000
536558#endif
537559
538560/* hash limit for test.c */
560582 defined(WOLFSSL_SP_RISCV32 )
561583#endif
562584
563- #define WOLFSSL_SMALL_STACK
564-
565585
566586#define HAVE_VERSION_EXTENDED_INFO
567587/* #define HAVE_WC_INTROSPECTION */
@@ -936,6 +956,8 @@ Turn on timer debugging (used when CPU cycles not available)
936956#define ATCA_WOLFSSL
937957*/
938958
959+ /* optional SM4 Ciphers. See github.com/wolfSSL/wolfsm */
960+
939961/***************************** Certificate Macros *****************************
940962 *
941963 * The section below defines macros used in typically all of the wolfSSL
@@ -1027,9 +1049,14 @@ Turn on timer debugging (used when CPU cycles not available)
10271049 #define WOLFSSL_BASE16
10281050#else
10291051 #if defined(USE_CERT_BUFFERS_2048 )
1030- #define USE_CERT_BUFFERS_256
1052+ #ifdef USE_CERT_BUFFERS_1024
1053+ #error "USE_CERT_BUFFERS_1024 is already defined. Pick one."
1054+ #endif
1055+
10311056 /* Be sure to include in app when using example certs: */
1032- /* #include <wolfssl/certs_test.h> */
1057+ #include <wolfssl/certs_test.h>
1058+
1059+ #define USE_CERT_BUFFERS_256
10331060 #define CTX_CA_CERT ca_cert_der_2048
10341061 #define CTX_CA_CERT_SIZE sizeof_ca_cert_der_2048
10351062 #define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
@@ -1049,9 +1076,14 @@ Turn on timer debugging (used when CPU cycles not available)
10491076 #define CTX_CLIENT_KEY_TYPE WOLFSSL_FILETYPE_ASN1
10501077
10511078 #elif defined(USE_CERT_BUFFERS_1024 )
1052- #define USE_CERT_BUFFERS_256
1079+ #ifdef USE_CERT_BUFFERS_2048
1080+ #error "USE_CERT_BUFFERS_2048 is already defined. Pick one."
1081+ #endif
1082+
10531083 /* Be sure to include in app when using example certs: */
1054- /* #include <wolfssl/certs_test.h> */
1084+ #include <wolfssl/certs_test.h>
1085+
1086+ #define USE_CERT_BUFFERS_256
10551087 #define CTX_CA_CERT ca_cert_der_1024
10561088 #define CTX_CA_CERT_SIZE sizeof_ca_cert_der_1024
10571089 #define CTX_CA_CERT_TYPE WOLFSSL_FILETYPE_ASN1
0 commit comments