<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[wolfSSL - Embedded SSL Library — Unable to build against wolfssl/wolfssl: "^5.7.6"]]></title>
		<link>https://www.wolfssl.com/forums/topic2294-unable-to-build-against-wolfsslwolfssl-576.html</link>
		<atom:link href="https://www.wolfssl.com/forums/feed-rss-topic2294.xml" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in Unable to build against wolfssl/wolfssl: "^5.7.6".]]></description>
		<lastBuildDate>Tue, 08 Apr 2025 13:59:15 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Unable to build against wolfssl/wolfssl: "^5.7.6"]]></title>
			<link>https://www.wolfssl.com/forums/post8294.html#p8294</link>
			<description><![CDATA[<p>Cool. I&#039;d like to help. </p><p>Regarding the certificate management, wolfSSL of course has all the standard RFCs implemented.</p><p>If perhaps you wanted to use the Espressif ESP-IDF esp-tls component and/or the &quot;Certificate Bundles&quot; (non-standard, something that mbedTLS created) I have a fork of the ESP-IDF that implements that using wolfSSL:</p><p><a href="https://github.com/gojimmypi/esp-idf/tree/my_531/components/esp-tls">https://github.com/gojimmypi/esp-idf/tr … ts/esp-tls</a></p><p>and some examples, such as this one:</p><p><a href="https://github.com/gojimmypi/wolfssl/tree/ED25519_SHA2_fix/IDE/Espressif/ESP-IDF/examples/esp_http_client">https://github.com/gojimmypi/wolfssl/tr … ttp_client</a></p><p>I suggest at this point, you please sent a message to support@wolfssl.com and reference this forum topic. Or I think you might have already working with Martin?</p><p>We can offer some pre-sales integration as well as more comprehensive integration &amp; consulting services to get you up &amp; running.</p><p>Depending on your target audience, you may also be interested in our FIPS certification:</p><p><a href="https://www.wolfssl.com/license/fips/">https://www.wolfssl.com/license/fips/</a></p><p>And depending on how tightly integrated the EV Charging is with other automotive systems, your may be interested in the wolfHSM:</p><p><a href="https://www.wolfssl.com/wolfssl-inc-announces-wolfhsm-for-automotive-hsms-hardware-security-modules/">https://www.wolfssl.com/wolfssl-inc-ann … y-modules/</a></p><p>Best Regards</p>]]></description>
			<author><![CDATA[null@example.com (gojimmypi)]]></author>
			<pubDate>Tue, 08 Apr 2025 13:59:15 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post8294.html#p8294</guid>
		</item>
		<item>
			<title><![CDATA[Re: Unable to build against wolfssl/wolfssl: "^5.7.6"]]></title>
			<link>https://www.wolfssl.com/forums/post8293.html#p8293</link>
			<description><![CDATA[<p>Thanks, Yes it is for our EV Charging products. Would be useful as I am looking at switching from mbedtls in wolfSSL for TLS processing as well at what we are already doing with Certificate creation/management. </p><p>The switch to wolfSSL on the ESP32S3 is a commercial option so timing is impeccable!</p><p>I think the issue was with how the library was integrated originally and we have dragged it forward. I don&#039;t think it is a problem with wolfSSL.</p><p>Thanks</p><p>Adam</p>]]></description>
			<author><![CDATA[null@example.com (AdamHeavens)]]></author>
			<pubDate>Tue, 08 Apr 2025 12:19:05 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post8293.html#p8293</guid>
		</item>
		<item>
			<title><![CDATA[Re: Unable to build against wolfssl/wolfssl: "^5.7.6"]]></title>
			<link>https://www.wolfssl.com/forums/post8292.html#p8292</link>
			<description><![CDATA[<p>That&#039;s curious. Just changing the library location should not have made a difference.</p><p>Do you have a user_settings.h in some other location? It should really be only in one place: in the component.</p><p>Please let me know if there are and suggested changes to the wolfSSL library, or if this was really only an issue in your project.</p><p>Note there are some minor post-v5.7.6 changes for the next release: <a href="https://github.com/wolfSSL/wolfssl/pull/8641">https://github.com/wolfSSL/wolfssl/pull/8641</a></p><p>In any case - YAY! Glad you have it working.</p><p>Is this still for your EV Charge Point product? Let me know if you&#039;d like to be in contact with one of the business directors; The 2025 wolfSSL roadmap is coming together, in case you have input on it.</p>]]></description>
			<author><![CDATA[null@example.com (gojimmypi)]]></author>
			<pubDate>Tue, 08 Apr 2025 11:28:05 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post8292.html#p8292</guid>
		</item>
		<item>
			<title><![CDATA[Re: Unable to build against wolfssl/wolfssl: "^5.7.6"]]></title>
			<link>https://www.wolfssl.com/forums/post8291.html#p8291</link>
			<description><![CDATA[<p>Thanks for you help. Issue was due to not including *.h in our project CMakeLists.txt</p><div class="codebox"><pre><code>file(GLOB_RECURSE app_headers 
    ${CMAKE_SOURCE_DIR}/includes/*.h
    ${CMAKE_SOURCE_DIR}/includes/*.hpp
)</code></pre></div><p>Confirmed 5.7.6 working now with ESP-IDF 5.3, I will test with 5.4 shortly.</p><p>Thanks for your help</p>]]></description>
			<author><![CDATA[null@example.com (AdamHeavens)]]></author>
			<pubDate>Tue, 08 Apr 2025 11:02:27 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post8291.html#p8291</guid>
		</item>
		<item>
			<title><![CDATA[Re: Unable to build against wolfssl/wolfssl: "^5.7.6"]]></title>
			<link>https://www.wolfssl.com/forums/post8281.html#p8281</link>
			<description><![CDATA[<p>&gt; Is there a difference for 5.7.6 as a managed component in regards to where the user_settings.h needs to be located it is currently in&nbsp; the root folder of our application?</p><p>There&#039;s been no <em>change</em> in the user_settings.h for a managed component, but I&#039;ve only ever tested it in the Managed Component directory. It is unlikely that the user_settings.h could be <em>removed</em> from the component, without making it an unmanaged component. So if there&#039;s another user_settings.h someplace, that might explain odd behaviour. </p><p>There&#039;s of course an issue with changes to managed component, thus I&#039;ve been expanding the use of Kconfig. See also:</p><p><a href="https://github.com/wolfSSL/wolfssl/issues/7969">https://github.com/wolfSSL/wolfssl/issues/7969</a></p><p>See the template example: </p><p><a href="https://github.com/wolfSSL/wolfssl/tree/master/IDE/Espressif/ESP-IDF/examples/template/components/wolfssl/include">https://github.com/wolfSSL/wolfssl/tree … sl/include</a></p><p>Also, be sure to always include the wolfSSL settings.h before any other include, and never include user_settings.h explicitly.</p><p>Make sure #define WOLFSSL_USER_SETTINGS is seen by all wolfSSL files.</p><br /><p>&gt; managed component might not be ready yet for 5.4</p><p>I&#039;ve been developing with ESP-IDF v5.3 so indeed there may be issues with newer versions of the ESP-IDF</p>]]></description>
			<author><![CDATA[null@example.com (gojimmypi)]]></author>
			<pubDate>Sat, 29 Mar 2025 18:00:16 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post8281.html#p8281</guid>
		</item>
		<item>
			<title><![CDATA[Re: Unable to build against wolfssl/wolfssl: "^5.7.6"]]></title>
			<link>https://www.wolfssl.com/forums/post8279.html#p8279</link>
			<description><![CDATA[<p>Is there a difference for 5.7.6 as a managed component in regards to where the user_settings.h needs to be located it is currently in&nbsp; the root folder of our application? But I wonder if it is not being picked up?</p>]]></description>
			<author><![CDATA[null@example.com (AdamHeavens)]]></author>
			<pubDate>Wed, 26 Mar 2025 20:17:22 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post8279.html#p8279</guid>
		</item>
		<item>
			<title><![CDATA[Re: Unable to build against wolfssl/wolfssl: "^5.7.6"]]></title>
			<link>https://www.wolfssl.com/forums/post8274.html#p8274</link>
			<description><![CDATA[<p>Thanks,</p><p>We had this working when importing as a component, it only fails as a managed component. I have changed the order to how we had it previously and double checked the user_settings.h is the same as the example provided.</p><div class="codebox"><pre><code>#define WOLFSSL_USER_SETTINGS
#include &lt;wolfssl/wolfcrypt/settings.h&gt;

#include &lt;wolfssl/openssl/ssl.h&gt;
#include &lt;wolfssl/openssl/bio.h&gt;
#include &lt;wolfssl/openssl/evp.h&gt;
#include &lt;wolfssl/openssl/pem.h&gt;
#include &lt;wolfssl/openssl/x509.h&gt;
#include &lt;wolfssl/openssl/x509v3.h&gt;
#include &lt;wolfssl/openssl/ec.h&gt;

#include &lt;wolfssl/wolfcrypt/ecc.h&gt;</code></pre></div><p>Which after a full clean, gives me this error again in esp32-crypt.h</p><div class="codebox"><pre><code>Error esp32/rom/aes.h: No such file or directory PlugStreamCP_ESP32S3 </code></pre></div><p>I can resolve that by editing it to, as per another post.</p><div class="codebox"><pre><code>#ifndef NO_AES
    #if ESP_IDF_VERSION_MAJOR &gt;= 4
        #include &quot;rom/aes.h&quot;</code></pre></div><p>We are using ESP_IDF 5.4</p><p>Which allows it to progress but then I get the following errors &amp; more without options.h</p><div class="codebox"><pre><code>Error    &#039;NID_X9_62_prime256v1&#039; was not declared in this scope 
Error    &#039;NID_secp256k1&#039; was not declared in this scope  
Error    &#039;NID_secp384r1&#039; was not declared in this scope
Error    &#039;NID_secp521r1&#039; was not declared in this scope
Error    &#039;NID_brainpoolP256r1&#039; was not declared in this scope
Error    &#039;NID_brainpoolP384r1&#039; was not declared in this scope
Error    &#039;NID_brainpoolP512r1&#039; was not declared in this scope</code></pre></div><p>Seems like the managed component might not be ready yet for 5.4, I can go back to 5.6.0. But was hoping to use a more recent version if possible.</p><p>Thanks</p><p>Adam</p>]]></description>
			<author><![CDATA[null@example.com (AdamHeavens)]]></author>
			<pubDate>Mon, 24 Mar 2025 19:56:34 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post8274.html#p8274</guid>
		</item>
		<item>
			<title><![CDATA[Re: Unable to build against wolfssl/wolfssl: "^5.7.6"]]></title>
			<link>https://www.wolfssl.com/forums/post8272.html#p8272</link>
			<description><![CDATA[<p>Hi Adam,</p><p>Typically the </p><div class="codebox"><pre><code>&lt;wolfssl/options.h&gt;</code></pre></div><p> is not used concurrently with </p><div class="codebox"><pre><code>&lt;wolfssl/wolfcrypt/settings.h&gt;</code></pre></div><p> </p><p>More importantly:&nbsp; </p><div class="codebox"><pre><code>&lt;wolfssl/wolfcrypt/settings.h&gt;</code></pre></div><p> needs to be specified before each wolfSSL include file.</p><p>Also - the </p><div class="codebox"><pre><code>WOLFSSL_USER_SETTINGS</code></pre></div><p> *MUST* be seen by each of </p><div class="codebox"><pre><code>settings.h</code></pre></div><p> files in wolfSSL.</p><p>Typically the odd errors occur when these criteria are not met.</p><p>There&#039;s additional information and examples here: </p><div class="codebox"><pre><code>https://github.com/wolfSSL/wolfssl/tree/master/IDE/Espressif</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (gojimmypi)]]></author>
			<pubDate>Mon, 24 Mar 2025 16:54:14 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post8272.html#p8272</guid>
		</item>
		<item>
			<title><![CDATA[Re: Unable to build against wolfssl/wolfssl: "^5.7.6"]]></title>
			<link>https://www.wolfssl.com/forums/post8270.html#p8270</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p><span style="color: black"><strong><a href="https://aeroshield.me/buy-cisco-anyconnect-vpn-account/">AdamHeavens Wrote:</a></strong></span></p><br /><p>Hi,</p><p>I am trying to migrate our project to ESP-IDF managed component of wolfSSL to remove the external library requirement and bring the wolfSSL library upto date.</p><p>I have worked through most issues but I am getting</p><div class="codebox"><pre><code>&#039;MAX_EX_DATA&#039; was not declared in this scope; did you mean &#039;HAVE_EX_DATA&#039;? </code></pre></div><p>I suspect it may be down to the order of the includes or a missing define. This is what I am using</p><div class="codebox"><pre><code>#define WOLFSSL_USER_SETTINGS
#include &lt;wolfssl/options.h&gt;
#include &lt;wolfssl/wolfcrypt/settings.h&gt;

#include &lt;wolfssl/openssl/ssl.h&gt;
#include &lt;wolfssl/openssl/err.h&gt;
#include &lt;wolfssl/openssl/evp.h&gt;
#include &lt;wolfssl/openssl/pem.h&gt;
#include &lt;wolfssl/openssl/rand.h&gt;
#include &lt;wolfssl/openssl/x509v3.h&gt;</code></pre></div><p>If I don&#039;t include options.h at the top then I get a number of issues compiling against the openssl compatibility.</p><p>This is my user_settings.h</p><div class="codebox"><pre><code>/* user_settings.h
 *
 * Copyright (C) 2006-2023 wolfSSL Inc.
 *
 * This file is part of wolfSSL.
 *
 * wolfSSL is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * wolfSSL is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
 */

/* This user_settings.h is for Espressif ESP-IDF */
#include &lt;sdkconfig.h&gt;

/* The Espressif sdkconfig will have chipset info.
**
** Possible values:
**
**   CONFIG_IDF_TARGET_ESP32
**   CONFIG_IDF_TARGET_ESP32S2
**   CONFIG_IDF_TARGET_ESP32S3
**   CONFIG_IDF_TARGET_ESP32C3
**   CONFIG_IDF_TARGET_ESP32C6
*/

#undef  WOLFSSL_ESPIDF
#define WOLFSSL_ESPIDF

#define HAVE_EX_DATA

/*
 * choose ONE of these Espressif chips to define:
 *
 * WOLFSSL_ESP32
 * WOLFSSL_ESPWROOM32SE
 * WOLFSSL_ESP8266
 */
#undef WOLFSSL_ESPWROOM32SE
#undef WOLFSSL_ESP8266
#undef WOLFSSL_ESP32

#define WOLFSSL_ESP32

/* optionally turn off SHA512/224 SHA512/256 */
/* #define WOLFSSL_NOSHA512_224 */
/* #define WOLFSSL_NOSHA512_256 */

/* when you want to use SINGLE THREAD. Note Default ESP-IDF is FreeRTOS */
/* #define SINGLE_THREADED */

/* When you don&#039;t want to use the old SHA */
/* #define NO_SHA */
/* #define NO_OLD_TLS */

#define BENCH_EMBEDDED
#define USE_CERT_BUFFERS_2048

/* TLS 1.3                                 */
#define WOLFSSL_TLS13
#define HAVE_TLS_EXTENSIONS
#define WC_RSA_PSS
#define HAVE_HKDF
#define HAVE_AEAD
#define HAVE_SUPPORTED_CURVES

#define WOLFSSL_BENCHMARK_FIXED_UNITS_KB

#define NO_FILESYSTEM

#define NO_OLD_TLS

#define HAVE_AESGCM

#define WOLFSSL_RIPEMD
/* when you want to use SHA224 */
#define WOLFSSL_SHA224

/* when you want to use SHA384 */
#define WOLFSSL_SHA384

/* when you want to use SHA512 */
#define WOLFSSL_SHA512

/* when you want to use SHA3 */
#define WOLFSSL_SHA3

#define HAVE_ED25519 /* ED25519 requires SHA512 */

#define HAVE_ECC
#define HAVE_CURVE25519
#define CURVE25519_SMALL
#define HAVE_ED25519
#define HAVE_PEM

/* Optional OPENSSL compatibility */
#define OPENSSL_EXTRA
//#define WOLFSSL_OPENSSL_EXTRA

/* when you want to use pkcs7 */
/* #define HAVE_PKCS7 */

#define HAVE_PKCS7

#if defined(HAVE_PKCS7)
    #define HAVE_AES_KEYWRAP
    #define HAVE_X963_KDF
    #define WOLFSSL_AES_DIRECT
#endif

/* when you want to use AES counter mode */
/* #define WOLFSSL_AES_DIRECT */
/* #define WOLFSSL_AES_COUNTER */

/* esp32-wroom-32se specific definition */
#if defined(WOLFSSL_ESPWROOM32SE)
    #define WOLFSSL_ATECC508A
    #define HAVE_PK_CALLBACKS
    /* when you want to use a custom slot allocation for ATECC608A */
    /* unless your configuration is unusual, you can use default   */
    /* implementation.                                             */
    /* #define CUSTOM_SLOT_ALLOCATION                              */
#endif

/* RSA primitive specific definition */
#if defined(WOLFSSL_ESP32) || defined(WOLFSSL_ESPWROOM32SE)
    /* Define USE_FAST_MATH and SMALL_STACK                        */
    #define ESP32_USE_RSA_PRIMITIVE

    #if defined(CONFIG_IDF_TARGET_ESP32)

        /* NOTE HW unreliable for small values! */
        /* threshold for performance adjustment for HW primitive use   */
        /* X bits of G^X mod P greater than                            */
        #undef  ESP_RSA_EXPT_XBITS
        #define ESP_RSA_EXPT_XBITS 32

        /* X and Y of X * Y mod P greater than                         */
        #undef  ESP_RSA_MULM_BITS
        #define ESP_RSA_MULM_BITS  16

    #endif
#endif

#define RSA_LOW_MEM

/* #define WOLFSSL_ATECC508A_DEBUG         */

/* date/time                               */
/* if it cannot adjust time in the device, */
/* enable macro below                      */
/* #define NO_ASN_TIME */
/* #define XTIME time */


/* adjust wait-timeout count if you see timeout in RSA HW acceleration */
#define ESP_RSA_TIMEOUT_CNT    0x249F00

#define HASH_SIZE_LIMIT /* for test.c */

/* USE_FAST_MATH is default */
#define USE_FAST_MATH

/*****      Use SP_MATH      *****/
/* #undef USE_FAST_MATH          */
/* #define SP_MATH               */
/* #define WOLFSSL_SP_MATH_ALL   */

/***** Use Integer Heap Math *****/
/* #undef USE_FAST_MATH          */
/* #define USE_INTEGER_HEAP_MATH */


#define WOLFSSL_SMALL_STACK


#define HAVE_VERSION_EXTENDED_INFO
/* #define HAVE_WC_INTROSPECTION */

#define  HAVE_SESSION_TICKET

/* #define HAVE_HASHDRBG */

#define WOLFSSL_KEY_GEN
#define WOLFSSL_CERT_REQ
#define WOLFSSL_CERT_GEN
#define WOLFSSL_CERT_EXT
#define WOLFSSL_SYS_CA_CERTS


#define WOLFSSL_CERT_TEXT

#define WOLFSSL_ASN_TEMPLATE

/*
#undef  WOLFSSL_KEY_GEN
#undef  WOLFSSL_CERT_REQ
#undef  WOLFSSL_CERT_GEN
#undef  WOLFSSL_CERT_EXT
#undef  WOLFSSL_SYS_CA_CERTS
*/

/*
--enable-keygen
--enable-certgen
--enable-certreq
--enable-certext
--enable-asn-template
*/

/* Default is HW enabled unless turned off.
** Uncomment these lines to force SW instead of HW acceleration */

#if defined(CONFIG_IDF_TARGET_ESP32)
    /* wolfSSL HW Acceleration supported on ESP32. Uncomment to disable: */
    /*  #define NO_ESP32_CRYPT                 */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_HASH    */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_AES     */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MP_MUL  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MULMOD  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_EXPTMOD */

    /*  These are defined automatically in esp32-crypt.h, here for clarity:  */
    #define NO_WOLFSSL_ESP32_CRYPT_HASH_SHA224 /* no SHA224 HW on ESP32  */

    #undef  ESP_RSA_MULM_BITS
    #define ESP_RSA_MULM_BITS 16 /* TODO add compile-time warning */
    /***** END CONFIG_IDF_TARGET_ESP32 *****/

#elif defined(CONFIG_IDF_TARGET_ESP32S2)
    /* wolfSSL HW Acceleration supported on ESP32-S2. Uncomment to disable: */
    /*  #define NO_ESP32_CRYPT                 */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_HASH    */
    /* Note: There&#039;s no AES192 HW on the ESP32-S2; falls back to SW */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_AES     */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MP_MUL  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MULMOD  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_EXPTMOD */
    /***** END CONFIG_IDF_TARGET_ESP32S2 *****/

#elif defined(CONFIG_IDF_TARGET_ESP32S3)
    /* wolfSSL HW Acceleration supported on ESP32-S3. Uncomment to disable: */
    /*  #define NO_ESP32_CRYPT                         */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_HASH            */
    /* Note: There&#039;s no AES192 HW on the ESP32-S3; falls back to SW */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_AES             */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI         */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MP_MUL  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MULMOD  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_EXPTMOD */
    /***** END CONFIG_IDF_TARGET_ESP32S3 *****/

#elif defined(CONFIG_IDF_TARGET_ESP32C2) || \
      defined(CONFIG_IDF_TARGET_ESP8684)
    /* ESP8684 is essentially ESP32-C2 chip + flash embedded together in a
     * single QFN 4x4 mm package. Out of released documentation, Technical
     * Reference Manual as well as ESP-IDF Programming Guide is applicable
     * to both ESP32-C2 and ESP8684.
     *
     * See: [url]https://www.esp32.com/viewtopic.php?f=5&amp;t=27926#:~:text=ESP8684%20is%20essentially%20ESP32%2DC2,both%20ESP32%2DC2%20and%20ESP8684.[/url] */

    /* wolfSSL HW Acceleration supported on ESP32-C2. Uncomment to disable: */
    /*  #define NO_ESP32_CRYPT                 */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_HASH    */ /* to disable all SHA HW   */

    /* These are defined automatically in esp32-crypt.h, here for clarity    */
    #define NO_WOLFSSL_ESP32_CRYPT_HASH_SHA384    /* no SHA384 HW on C2  */
    #define NO_WOLFSSL_ESP32_CRYPT_HASH_SHA512    /* no SHA512 HW on C2  */

    /* There&#039;s no AES or RSA/Math accelerator on the ESP32-C2
     * Auto defined with NO_WOLFSSL_ESP32_CRYPT_RSA_PRI, for clarity: */
    #define NO_WOLFSSL_ESP32_CRYPT_AES
    #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI
    #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MP_MUL
    #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MULMOD
    #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_EXPTMOD
    /***** END CONFIG_IDF_TARGET_ESP32C2 *****/

#elif defined(CONFIG_IDF_TARGET_ESP32C3)
    /* wolfSSL HW Acceleration supported on ESP32-C3. Uncomment to disable: */

    /*  #define NO_ESP32_CRYPT                 */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_HASH    */ /* to disable all SHA HW   */

    /* These are defined automatically in esp32-crypt.h, here for clarity:  */
    #define NO_WOLFSSL_ESP32_CRYPT_HASH_SHA384    /* no SHA384 HW on C6  */
    #define NO_WOLFSSL_ESP32_CRYPT_HASH_SHA512    /* no SHA512 HW on C6  */

    /*  #define NO_WOLFSSL_ESP32_CRYPT_AES             */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI         */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MP_MUL  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MULMOD  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_EXPTMOD */
    /***** END CONFIG_IDF_TARGET_ESP32C3 *****/

#elif defined(CONFIG_IDF_TARGET_ESP32C6)
    /* wolfSSL HW Acceleration supported on ESP32-C6. Uncomment to disable: */

    /*  #define NO_ESP32_CRYPT                 */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_HASH    */
    /*  These are defined automatically in esp32-crypt.h, here for clarity:  */
    #define NO_WOLFSSL_ESP32_CRYPT_HASH_SHA384    /* no SHA384 HW on C6  */
    #define NO_WOLFSSL_ESP32_CRYPT_HASH_SHA512    /* no SHA512 HW on C6  */

    /*  #define NO_WOLFSSL_ESP32_CRYPT_AES             */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI         */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MP_MUL  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MULMOD  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_EXPTMOD */
    /***** END CONFIG_IDF_TARGET_ESP32C6 *****/

#elif defined(CONFIG_IDF_TARGET_ESP32H2)
    /*  wolfSSL Hardware Acceleration not yet implemented */
    #define NO_ESP32_CRYPT
    #define NO_WOLFSSL_ESP32_CRYPT_HASH
    #define NO_WOLFSSL_ESP32_CRYPT_AES
    #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI
    /***** END CONFIG_IDF_TARGET_ESP32H2 *****/

#elif defined(CONFIG_IDF_TARGET_ESP8266)
    /*  TODO: Revisit ESP8266 */
    #define NO_ESP32_CRYPT
    #define NO_WOLFSSL_ESP32_CRYPT_HASH
    #define NO_WOLFSSL_ESP32_CRYPT_AES
    #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI
    /***** END CONFIG_IDF_TARGET_ESP266 *****/
#else
    /* Anything else encountered, disable HW accleration */
    #define NO_ESP32_CRYPT
    #define NO_WOLFSSL_ESP32_CRYPT_HASH
    #define NO_WOLFSSL_ESP32_CRYPT_AES
    #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI
#endif /* CONFIG_IDF_TARGET Check */

/* Debug options:

#define ESP_VERIFY_MEMBLOCK
#define DEBUG_WOLFSSL
#define DEBUG_WOLFSSL_VERBOSE
#define DEBUG_WOLFSSL_SHA_MUTEX
#define WOLFSSL_ESP32_CRYPT_DEBUG
#define WOLFSSL_ESP32_CRYPT_HASH_SHA224_DEBUG
#define NO_RECOVER_SOFTWARE_CALC
#define WOLFSSL_TEST_STRAY 1
#define USE_ESP_DPORT_ACCESS_READ_BUFFER
#define WOLFSSL_ESP32_HW_LOCK_DEBUG
#define WOLFSSL_DEBUG_ESP_RSA_MULM_BITS
#define ESP_DISABLE_HW_TASK_LOCK
*/

#define WOLFSSL_ESPIDF_ERROR_PAUSE /* Pause in a loop rather than exit. */
#define WOLFSSL_HW_METRICS

/* #define HASH_SIZE_LIMIT */ /* for test.c */

/* #define NO_HW_MATH_TEST */ /* Optionall turn off HW math checks */

/* Optionally include alternate HW test library: alt_hw_test.h */
/* When enabling, the ./components/wolfssl/CMakeLists.txt file
 * will need the name of the library in the idf_component_register
 * for the PRIV_REQUIRES list. */
/* #define INCLUDE_ALT_HW_TEST */

/* optionally turn off individual math HW acceleration features */

/* Turn off Large Number ESP32 HW Multiplication:
** [Z = X * Y] in esp_mp_mul()                                  */
/* #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MP_MUL                */

/* Turn off Large Number ESP32 HW Modular Exponentiation:
** [Z = X^Y mod M] in esp_mp_exptmod()                          */
/* #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_EXPTMOD               */

/* Turn off Large Number ESP32 HW Modular Multiplication
** [Z = X * Y mod M] in esp_mp_mulmod()                         */
/* #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MULMOD                */


#define WOLFSSL_PUBLIC_MP /* used by benchmark */
#define USE_CERT_BUFFERS_2048

/* when turning on ECC508 / ECC608 support
#define WOLFSSL_ESPWROOM32SE
#define HAVE_PK_CALLBACKS
#define WOLFSSL_ATECC508A
#define ATCA_WOLFSSL
*/

/* optional SM4 Ciphers. See [url]https://github.com/wolfSSL/wolfsm[/url]
#define WOLFSSL_SM2
#define WOLFSSL_SM3
#define WOLFSSL_SM4
*/

#if defined(WOLFSSL_SM2) || defined(WOLFSSL_SM3) || defined(WOLFSSL_SM4)
    #include &lt;wolfssl/certs_test_sm.h&gt;
    #define CTX_CA_CERT          root_sm2
    #define CTX_CA_CERT_SIZE     sizeof_root_sm2
    #define CTX_CA_CERT_TYPE     WOLFSSL_FILETYPE_PEM
    #define CTX_SERVER_CERT      server_sm2
    #define CTX_SERVER_CERT_SIZE sizeof_server_sm2
    #define CTX_SERVER_CERT_TYPE WOLFSSL_FILETYPE_PEM
    #define CTX_SERVER_KEY       server_sm2_priv
    #define CTX_SERVER_KEY_SIZE  sizeof_server_sm2_priv
    #define CTX_SERVER_KEY_TYPE  WOLFSSL_FILETYPE_PEM

    #undef  WOLFSSL_BASE16
    #define WOLFSSL_BASE16
#else
    #define USE_CERT_BUFFERS_2048
    #define USE_CERT_BUFFERS_256
    #define CTX_CA_CERT          ca_cert_der_2048
    #define CTX_CA_CERT_SIZE     sizeof_ca_cert_der_2048
    #define CTX_CA_CERT_TYPE     WOLFSSL_FILETYPE_ASN1
    #define CTX_SERVER_CERT      server_cert_der_2048
    #define CTX_SERVER_CERT_SIZE sizeof_server_cert_der_2048
    #define CTX_SERVER_CERT_TYPE WOLFSSL_FILETYPE_ASN1
    #define CTX_SERVER_KEY       server_key_der_2048
    #define CTX_SERVER_KEY_SIZE  sizeof_server_key_der_2048
    #define CTX_SERVER_KEY_TYPE  WOLFSSL_FILETYPE_ASN1
#endif</code></pre></div><p>Any ideas? </p><p>I added #define HAVE_EX_DATA to try and get it to build, but we have no need for it and it doesn&#039;t make a difference.</p><p>Cheers</p><p>Adam</p></blockquote></div><br /><br /><p>It looks like MAX_EX_DATA is not a recognized symbol in your build, and based on the error message, it might be a typo or a missing definition. Since the error message suggests HAVE_EX_DATA, it&#039;s possible that MAX_EX_DATA is not defined in your version of wolfSSL.</p><p>A few things to check:</p><p>&nbsp; &nbsp; Verify If MAX_EX_DATA Exists</p><p>&nbsp; &nbsp; &nbsp; &nbsp; Search for MAX_EX_DATA in the wolfSSL source code. If it doesn’t exist, you may need to use HAVE_EX_DATA instead.</p><p>&nbsp; &nbsp; Ensure OpenSSL Compatibility Mode Is Fully Enabled</p><p>&nbsp; &nbsp; &nbsp; &nbsp; You have #define OPENSSL_EXTRA, but WOLFSSL_OPENSSL_EXTRA is commented out. Try uncommenting it:</p><p>&nbsp; &nbsp; #define WOLFSSL_OPENSSL_EXTRA</p><p>&nbsp; &nbsp; This could enable additional OpenSSL compatibility features.</p><p>Include Order &amp; Configuration</p><p>&nbsp; &nbsp; You mentioned that removing options.h causes errors, so it should stay. However, check if including &lt;wolfssl/wolfcrypt/settings.h&gt; earlier makes a difference.</p><p>&nbsp; &nbsp; Also, confirm that HAVE_EX_DATA is properly defined before any OpenSSL-related includes.</p><p>Clean &amp; Rebuild</p><p>&nbsp; &nbsp; If you&#039;ve changed configuration options, try a full clean before rebuilding:</p><p>&nbsp; &nbsp; idf.py fullclean<br />&nbsp; &nbsp; idf.py build</p><p>Check for Component Conflicts</p><p>&nbsp; &nbsp; If you&#039;re using multiple components that depend on wolfSSL, ensure they are compatible with the ESP-IDF managed version.</p>]]></description>
			<author><![CDATA[null@example.com (OllyBe)]]></author>
			<pubDate>Mon, 24 Mar 2025 14:52:37 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post8270.html#p8270</guid>
		</item>
		<item>
			<title><![CDATA[Re: Unable to build against wolfssl/wolfssl: "^5.7.6"]]></title>
			<link>https://www.wolfssl.com/forums/post8269.html#p8269</link>
			<description><![CDATA[<p>Hi Adam,</p><p>Thanks for contacting wolfSSL Support. I have requested a review of this topic by our engineers.</p><p>Kind regards,<br />Eric - wolfSSL Support</p>]]></description>
			<author><![CDATA[null@example.com (embhorn)]]></author>
			<pubDate>Mon, 24 Mar 2025 12:56:34 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post8269.html#p8269</guid>
		</item>
		<item>
			<title><![CDATA[Unable to build against wolfssl/wolfssl: "^5.7.6"]]></title>
			<link>https://www.wolfssl.com/forums/post8267.html#p8267</link>
			<description><![CDATA[<p>Hi,</p><p>I am trying to migrate our project to ESP-IDF managed component of wolfSSL to remove the external library requirement and bring the wolfSSL library upto date.</p><p>I have worked through most issues but I am getting</p><div class="codebox"><pre><code>&#039;MAX_EX_DATA&#039; was not declared in this scope; did you mean &#039;HAVE_EX_DATA&#039;? </code></pre></div><p>I suspect it may be down to the order of the includes or a missing define. This is what I am using</p><div class="codebox"><pre><code>#define WOLFSSL_USER_SETTINGS
#include &lt;wolfssl/options.h&gt;
#include &lt;wolfssl/wolfcrypt/settings.h&gt;

#include &lt;wolfssl/openssl/ssl.h&gt;
#include &lt;wolfssl/openssl/err.h&gt;
#include &lt;wolfssl/openssl/evp.h&gt;
#include &lt;wolfssl/openssl/pem.h&gt;
#include &lt;wolfssl/openssl/rand.h&gt;
#include &lt;wolfssl/openssl/x509v3.h&gt;</code></pre></div><p>If I don&#039;t include options.h at the top then I get a number of issues compiling against the openssl compatibility.</p><p>This is my user_settings.h</p><div class="codebox"><pre><code>/* user_settings.h
 *
 * Copyright (C) 2006-2023 wolfSSL Inc.
 *
 * This file is part of wolfSSL.
 *
 * wolfSSL is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * wolfSSL is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
 */

/* This user_settings.h is for Espressif ESP-IDF */
#include &lt;sdkconfig.h&gt;

/* The Espressif sdkconfig will have chipset info.
**
** Possible values:
**
**   CONFIG_IDF_TARGET_ESP32
**   CONFIG_IDF_TARGET_ESP32S2
**   CONFIG_IDF_TARGET_ESP32S3
**   CONFIG_IDF_TARGET_ESP32C3
**   CONFIG_IDF_TARGET_ESP32C6
*/

#undef  WOLFSSL_ESPIDF
#define WOLFSSL_ESPIDF

#define HAVE_EX_DATA

/*
 * choose ONE of these Espressif chips to define:
 *
 * WOLFSSL_ESP32
 * WOLFSSL_ESPWROOM32SE
 * WOLFSSL_ESP8266
 */
#undef WOLFSSL_ESPWROOM32SE
#undef WOLFSSL_ESP8266
#undef WOLFSSL_ESP32

#define WOLFSSL_ESP32

/* optionally turn off SHA512/224 SHA512/256 */
/* #define WOLFSSL_NOSHA512_224 */
/* #define WOLFSSL_NOSHA512_256 */

/* when you want to use SINGLE THREAD. Note Default ESP-IDF is FreeRTOS */
/* #define SINGLE_THREADED */

/* When you don&#039;t want to use the old SHA */
/* #define NO_SHA */
/* #define NO_OLD_TLS */

#define BENCH_EMBEDDED
#define USE_CERT_BUFFERS_2048

/* TLS 1.3                                 */
#define WOLFSSL_TLS13
#define HAVE_TLS_EXTENSIONS
#define WC_RSA_PSS
#define HAVE_HKDF
#define HAVE_AEAD
#define HAVE_SUPPORTED_CURVES

#define WOLFSSL_BENCHMARK_FIXED_UNITS_KB

#define NO_FILESYSTEM

#define NO_OLD_TLS

#define HAVE_AESGCM

#define WOLFSSL_RIPEMD
/* when you want to use SHA224 */
#define WOLFSSL_SHA224

/* when you want to use SHA384 */
#define WOLFSSL_SHA384

/* when you want to use SHA512 */
#define WOLFSSL_SHA512

/* when you want to use SHA3 */
#define WOLFSSL_SHA3

#define HAVE_ED25519 /* ED25519 requires SHA512 */

#define HAVE_ECC
#define HAVE_CURVE25519
#define CURVE25519_SMALL
#define HAVE_ED25519
#define HAVE_PEM

/* Optional OPENSSL compatibility */
#define OPENSSL_EXTRA
//#define WOLFSSL_OPENSSL_EXTRA

/* when you want to use pkcs7 */
/* #define HAVE_PKCS7 */

#define HAVE_PKCS7

#if defined(HAVE_PKCS7)
    #define HAVE_AES_KEYWRAP
    #define HAVE_X963_KDF
    #define WOLFSSL_AES_DIRECT
#endif

/* when you want to use AES counter mode */
/* #define WOLFSSL_AES_DIRECT */
/* #define WOLFSSL_AES_COUNTER */

/* esp32-wroom-32se specific definition */
#if defined(WOLFSSL_ESPWROOM32SE)
    #define WOLFSSL_ATECC508A
    #define HAVE_PK_CALLBACKS
    /* when you want to use a custom slot allocation for ATECC608A */
    /* unless your configuration is unusual, you can use default   */
    /* implementation.                                             */
    /* #define CUSTOM_SLOT_ALLOCATION                              */
#endif

/* RSA primitive specific definition */
#if defined(WOLFSSL_ESP32) || defined(WOLFSSL_ESPWROOM32SE)
    /* Define USE_FAST_MATH and SMALL_STACK                        */
    #define ESP32_USE_RSA_PRIMITIVE

    #if defined(CONFIG_IDF_TARGET_ESP32)

        /* NOTE HW unreliable for small values! */
        /* threshold for performance adjustment for HW primitive use   */
        /* X bits of G^X mod P greater than                            */
        #undef  ESP_RSA_EXPT_XBITS
        #define ESP_RSA_EXPT_XBITS 32

        /* X and Y of X * Y mod P greater than                         */
        #undef  ESP_RSA_MULM_BITS
        #define ESP_RSA_MULM_BITS  16

    #endif
#endif

#define RSA_LOW_MEM

/* #define WOLFSSL_ATECC508A_DEBUG         */

/* date/time                               */
/* if it cannot adjust time in the device, */
/* enable macro below                      */
/* #define NO_ASN_TIME */
/* #define XTIME time */


/* adjust wait-timeout count if you see timeout in RSA HW acceleration */
#define ESP_RSA_TIMEOUT_CNT    0x249F00

#define HASH_SIZE_LIMIT /* for test.c */

/* USE_FAST_MATH is default */
#define USE_FAST_MATH

/*****      Use SP_MATH      *****/
/* #undef USE_FAST_MATH          */
/* #define SP_MATH               */
/* #define WOLFSSL_SP_MATH_ALL   */

/***** Use Integer Heap Math *****/
/* #undef USE_FAST_MATH          */
/* #define USE_INTEGER_HEAP_MATH */


#define WOLFSSL_SMALL_STACK


#define HAVE_VERSION_EXTENDED_INFO
/* #define HAVE_WC_INTROSPECTION */

#define  HAVE_SESSION_TICKET

/* #define HAVE_HASHDRBG */

#define WOLFSSL_KEY_GEN
#define WOLFSSL_CERT_REQ
#define WOLFSSL_CERT_GEN
#define WOLFSSL_CERT_EXT
#define WOLFSSL_SYS_CA_CERTS


#define WOLFSSL_CERT_TEXT

#define WOLFSSL_ASN_TEMPLATE

/*
#undef  WOLFSSL_KEY_GEN
#undef  WOLFSSL_CERT_REQ
#undef  WOLFSSL_CERT_GEN
#undef  WOLFSSL_CERT_EXT
#undef  WOLFSSL_SYS_CA_CERTS
*/

/*
--enable-keygen
--enable-certgen
--enable-certreq
--enable-certext
--enable-asn-template
*/

/* Default is HW enabled unless turned off.
** Uncomment these lines to force SW instead of HW acceleration */

#if defined(CONFIG_IDF_TARGET_ESP32)
    /* wolfSSL HW Acceleration supported on ESP32. Uncomment to disable: */
    /*  #define NO_ESP32_CRYPT                 */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_HASH    */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_AES     */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MP_MUL  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MULMOD  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_EXPTMOD */

    /*  These are defined automatically in esp32-crypt.h, here for clarity:  */
    #define NO_WOLFSSL_ESP32_CRYPT_HASH_SHA224 /* no SHA224 HW on ESP32  */

    #undef  ESP_RSA_MULM_BITS
    #define ESP_RSA_MULM_BITS 16 /* TODO add compile-time warning */
    /***** END CONFIG_IDF_TARGET_ESP32 *****/

#elif defined(CONFIG_IDF_TARGET_ESP32S2)
    /* wolfSSL HW Acceleration supported on ESP32-S2. Uncomment to disable: */
    /*  #define NO_ESP32_CRYPT                 */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_HASH    */
    /* Note: There&#039;s no AES192 HW on the ESP32-S2; falls back to SW */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_AES     */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MP_MUL  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MULMOD  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_EXPTMOD */
    /***** END CONFIG_IDF_TARGET_ESP32S2 *****/

#elif defined(CONFIG_IDF_TARGET_ESP32S3)
    /* wolfSSL HW Acceleration supported on ESP32-S3. Uncomment to disable: */
    /*  #define NO_ESP32_CRYPT                         */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_HASH            */
    /* Note: There&#039;s no AES192 HW on the ESP32-S3; falls back to SW */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_AES             */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI         */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MP_MUL  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MULMOD  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_EXPTMOD */
    /***** END CONFIG_IDF_TARGET_ESP32S3 *****/

#elif defined(CONFIG_IDF_TARGET_ESP32C2) || \
      defined(CONFIG_IDF_TARGET_ESP8684)
    /* ESP8684 is essentially ESP32-C2 chip + flash embedded together in a
     * single QFN 4x4 mm package. Out of released documentation, Technical
     * Reference Manual as well as ESP-IDF Programming Guide is applicable
     * to both ESP32-C2 and ESP8684.
     *
     * See: [url]https://www.esp32.com/viewtopic.php?f=5&amp;t=27926#:~:text=ESP8684%20is%20essentially%20ESP32%2DC2,both%20ESP32%2DC2%20and%20ESP8684.[/url] */

    /* wolfSSL HW Acceleration supported on ESP32-C2. Uncomment to disable: */
    /*  #define NO_ESP32_CRYPT                 */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_HASH    */ /* to disable all SHA HW   */

    /* These are defined automatically in esp32-crypt.h, here for clarity    */
    #define NO_WOLFSSL_ESP32_CRYPT_HASH_SHA384    /* no SHA384 HW on C2  */
    #define NO_WOLFSSL_ESP32_CRYPT_HASH_SHA512    /* no SHA512 HW on C2  */

    /* There&#039;s no AES or RSA/Math accelerator on the ESP32-C2
     * Auto defined with NO_WOLFSSL_ESP32_CRYPT_RSA_PRI, for clarity: */
    #define NO_WOLFSSL_ESP32_CRYPT_AES
    #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI
    #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MP_MUL
    #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MULMOD
    #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_EXPTMOD
    /***** END CONFIG_IDF_TARGET_ESP32C2 *****/

#elif defined(CONFIG_IDF_TARGET_ESP32C3)
    /* wolfSSL HW Acceleration supported on ESP32-C3. Uncomment to disable: */

    /*  #define NO_ESP32_CRYPT                 */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_HASH    */ /* to disable all SHA HW   */

    /* These are defined automatically in esp32-crypt.h, here for clarity:  */
    #define NO_WOLFSSL_ESP32_CRYPT_HASH_SHA384    /* no SHA384 HW on C6  */
    #define NO_WOLFSSL_ESP32_CRYPT_HASH_SHA512    /* no SHA512 HW on C6  */

    /*  #define NO_WOLFSSL_ESP32_CRYPT_AES             */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI         */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MP_MUL  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MULMOD  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_EXPTMOD */
    /***** END CONFIG_IDF_TARGET_ESP32C3 *****/

#elif defined(CONFIG_IDF_TARGET_ESP32C6)
    /* wolfSSL HW Acceleration supported on ESP32-C6. Uncomment to disable: */

    /*  #define NO_ESP32_CRYPT                 */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_HASH    */
    /*  These are defined automatically in esp32-crypt.h, here for clarity:  */
    #define NO_WOLFSSL_ESP32_CRYPT_HASH_SHA384    /* no SHA384 HW on C6  */
    #define NO_WOLFSSL_ESP32_CRYPT_HASH_SHA512    /* no SHA512 HW on C6  */

    /*  #define NO_WOLFSSL_ESP32_CRYPT_AES             */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI         */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MP_MUL  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MULMOD  */
    /*  #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_EXPTMOD */
    /***** END CONFIG_IDF_TARGET_ESP32C6 *****/

#elif defined(CONFIG_IDF_TARGET_ESP32H2)
    /*  wolfSSL Hardware Acceleration not yet implemented */
    #define NO_ESP32_CRYPT
    #define NO_WOLFSSL_ESP32_CRYPT_HASH
    #define NO_WOLFSSL_ESP32_CRYPT_AES
    #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI
    /***** END CONFIG_IDF_TARGET_ESP32H2 *****/

#elif defined(CONFIG_IDF_TARGET_ESP8266)
    /*  TODO: Revisit ESP8266 */
    #define NO_ESP32_CRYPT
    #define NO_WOLFSSL_ESP32_CRYPT_HASH
    #define NO_WOLFSSL_ESP32_CRYPT_AES
    #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI
    /***** END CONFIG_IDF_TARGET_ESP266 *****/
#else
    /* Anything else encountered, disable HW accleration */
    #define NO_ESP32_CRYPT
    #define NO_WOLFSSL_ESP32_CRYPT_HASH
    #define NO_WOLFSSL_ESP32_CRYPT_AES
    #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI
#endif /* CONFIG_IDF_TARGET Check */

/* Debug options:

#define ESP_VERIFY_MEMBLOCK
#define DEBUG_WOLFSSL
#define DEBUG_WOLFSSL_VERBOSE
#define DEBUG_WOLFSSL_SHA_MUTEX
#define WOLFSSL_ESP32_CRYPT_DEBUG
#define WOLFSSL_ESP32_CRYPT_HASH_SHA224_DEBUG
#define NO_RECOVER_SOFTWARE_CALC
#define WOLFSSL_TEST_STRAY 1
#define USE_ESP_DPORT_ACCESS_READ_BUFFER
#define WOLFSSL_ESP32_HW_LOCK_DEBUG
#define WOLFSSL_DEBUG_ESP_RSA_MULM_BITS
#define ESP_DISABLE_HW_TASK_LOCK
*/

#define WOLFSSL_ESPIDF_ERROR_PAUSE /* Pause in a loop rather than exit. */
#define WOLFSSL_HW_METRICS

/* #define HASH_SIZE_LIMIT */ /* for test.c */

/* #define NO_HW_MATH_TEST */ /* Optionall turn off HW math checks */

/* Optionally include alternate HW test library: alt_hw_test.h */
/* When enabling, the ./components/wolfssl/CMakeLists.txt file
 * will need the name of the library in the idf_component_register
 * for the PRIV_REQUIRES list. */
/* #define INCLUDE_ALT_HW_TEST */

/* optionally turn off individual math HW acceleration features */

/* Turn off Large Number ESP32 HW Multiplication:
** [Z = X * Y] in esp_mp_mul()                                  */
/* #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MP_MUL                */

/* Turn off Large Number ESP32 HW Modular Exponentiation:
** [Z = X^Y mod M] in esp_mp_exptmod()                          */
/* #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_EXPTMOD               */

/* Turn off Large Number ESP32 HW Modular Multiplication
** [Z = X * Y mod M] in esp_mp_mulmod()                         */
/* #define NO_WOLFSSL_ESP32_CRYPT_RSA_PRI_MULMOD                */


#define WOLFSSL_PUBLIC_MP /* used by benchmark */
#define USE_CERT_BUFFERS_2048

/* when turning on ECC508 / ECC608 support
#define WOLFSSL_ESPWROOM32SE
#define HAVE_PK_CALLBACKS
#define WOLFSSL_ATECC508A
#define ATCA_WOLFSSL
*/

/* optional SM4 Ciphers. See [url]https://github.com/wolfSSL/wolfsm[/url]
#define WOLFSSL_SM2
#define WOLFSSL_SM3
#define WOLFSSL_SM4
*/

#if defined(WOLFSSL_SM2) || defined(WOLFSSL_SM3) || defined(WOLFSSL_SM4)
    #include &lt;wolfssl/certs_test_sm.h&gt;
    #define CTX_CA_CERT          root_sm2
    #define CTX_CA_CERT_SIZE     sizeof_root_sm2
    #define CTX_CA_CERT_TYPE     WOLFSSL_FILETYPE_PEM
    #define CTX_SERVER_CERT      server_sm2
    #define CTX_SERVER_CERT_SIZE sizeof_server_sm2
    #define CTX_SERVER_CERT_TYPE WOLFSSL_FILETYPE_PEM
    #define CTX_SERVER_KEY       server_sm2_priv
    #define CTX_SERVER_KEY_SIZE  sizeof_server_sm2_priv
    #define CTX_SERVER_KEY_TYPE  WOLFSSL_FILETYPE_PEM

    #undef  WOLFSSL_BASE16
    #define WOLFSSL_BASE16
#else
    #define USE_CERT_BUFFERS_2048
    #define USE_CERT_BUFFERS_256
    #define CTX_CA_CERT          ca_cert_der_2048
    #define CTX_CA_CERT_SIZE     sizeof_ca_cert_der_2048
    #define CTX_CA_CERT_TYPE     WOLFSSL_FILETYPE_ASN1
    #define CTX_SERVER_CERT      server_cert_der_2048
    #define CTX_SERVER_CERT_SIZE sizeof_server_cert_der_2048
    #define CTX_SERVER_CERT_TYPE WOLFSSL_FILETYPE_ASN1
    #define CTX_SERVER_KEY       server_key_der_2048
    #define CTX_SERVER_KEY_SIZE  sizeof_server_key_der_2048
    #define CTX_SERVER_KEY_TYPE  WOLFSSL_FILETYPE_ASN1
#endif</code></pre></div><p>Any ideas? </p><p>I added #define HAVE_EX_DATA to try and get it to build, but we have no need for it and it doesn&#039;t make a difference.</p><p>Cheers</p><p>Adam</p>]]></description>
			<author><![CDATA[null@example.com (AdamHeavens)]]></author>
			<pubDate>Sat, 22 Mar 2025 23:29:55 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/post8267.html#p8267</guid>
		</item>
	</channel>
</rss>
