File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -945,13 +945,29 @@ if(WOLFSSL_ECC)
945945 endif ()
946946endif ()
947947
948- # TODO: - ECC custom curves
949- # - Compressed key
948+ # TODO: - Compressed key
950949# - FP ECC, fixed point cache ECC
951950# - ECC encrypt
952951# - PSK
953952# - Single PSK identity
954953
954+ # ECC custom curves
955+ add_option ("WOLFSSL_ECCCUSTCURVES"
956+ "Enable ECC Custom Curves (default: disabled)"
957+ "no" "yes;no;all" )
958+
959+ if (WOLFSSL_ECCCUSTCURVES)
960+ if ("${WOLFSSL_ECCCUSTCURVES} " STREQUAL "all" )
961+ list (APPEND WOLFSSL_DEFINITIONS "-DHAVE_ECC_SECPR2" )
962+ list (APPEND WOLFSSL_DEFINITIONS "-DHAVE_ECC_SECPR3" )
963+ list (APPEND WOLFSSL_DEFINITIONS "-DHAVE_ECC_BRAINPOOL" )
964+ list (APPEND WOLFSSL_DEFINITIONS "-DHAVE_ECC_KOBLITZ" )
965+ list (APPEND WOLFSSL_DEFINITIONS "-DHAVE_ECC_CDH" )
966+ endif ()
967+
968+ list (APPEND WOLFSSL_DEFINITIONS "-DWOLFSSL_CUSTOM_CURVES" )
969+ endif ()
970+
955971# CURVE25519
956972set (WOLFSSL_CURVE25519_SMALL "no" )
957973add_option ("WOLFSSL_CURVE25519"
Original file line number Diff line number Diff line change @@ -86,6 +86,8 @@ extern "C" {
8686#cmakedefine HAVE_CRL
8787#undef HAVE_CRL_IO
8888#cmakedefine HAVE_CRL_IO
89+ #undef WOLFSSL_CUSTOM_CURVES
90+ #cmakedefine WOLFSSL_CUSTOM_CURVES
8991#undef HAVE_CURVE25519
9092#cmakedefine HAVE_CURVE25519
9193#undef HAVE_CURVE448
@@ -368,6 +370,16 @@ extern "C" {
368370#cmakedefine WOLFSSL_WC_KYBER
369371#undef NO_WOLFSSL_STUB
370372#cmakedefine NO_WOLFSSL_STUB
373+ #undef HAVE_ECC_SECPR2
374+ #cmakedefine HAVE_ECC_SECPR2
375+ #undef HAVE_ECC_SECPR3
376+ #cmakedefine HAVE_ECC_SECPR3
377+ #undef HAVE_ECC_BRAINPOOL
378+ #cmakedefine HAVE_ECC_BRAINPOOL
379+ #undef HAVE_ECC_KOBLITZ
380+ #cmakedefine HAVE_ECC_KOBLITZ
381+ #undef HAVE_ECC_CDH
382+ #cmakedefine HAVE_ECC_CDH
371383
372384#ifdef __cplusplus
373385}
You can’t perform that action at this time.
0 commit comments