<?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 — wolfCrypt]]></title>
		<link>https://www.wolfssl.com/forums/</link>
		<atom:link href="https://www.wolfssl.com/forums/feed-rss-forum7.xml" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent topics at wolfSSL - Embedded SSL Library.]]></description>
		<lastBuildDate>Thu, 19 Mar 2026 16:41:06 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[RsaKey structure RAM footprint is huge with sp_int]]></title>
			<link>https://www.wolfssl.com/forums/topic2489-rsakey-structure-ram-footprint-is-huge-with-spint-new-posts.html</link>
			<description><![CDATA[<p>Hello everyone, I am using WolfCrypt on a very limited bare metal microcontroller and I need to use RSA3072 due to customer request. </p><p>Using the sp math library I get the smallest flash footprint but the RsaKey structure weighs 1572 bytes (as per sizeof()). I checked the struct and saw that the exponent is defined as mp_int, which becomes an sp_int, which is always an array of 193 32-bit words. That&#039;s 772 bytes when e-&gt;used is always 1.</p><div class="codebox"><pre><code>struct RsaKey {
    mp_int n, e;
    //...</code></pre></div><p>Is it necessary to have so much space dedicated to the exponent? </p><p>Just to add a bit of context, I am working on&nbsp; a system with 32 kB of RAM, which is already huge (normally we use 3 or 6 kB chips) and with the other requirements of the piece of software I am writing I am down to only 3624 bytes of available RAM.</p>]]></description>
			<author><![CDATA[null@example.com (den2k)]]></author>
			<pubDate>Thu, 19 Mar 2026 16:41:06 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/topic2489-rsakey-structure-ram-footprint-is-huge-with-spint-new-posts.html</guid>
		</item>
		<item>
			<title><![CDATA[RSA 2048 bit signature generation & verification]]></title>
			<link>https://www.wolfssl.com/forums/topic2473-rsa-2048-bit-signature-generation-verification-new-posts.html</link>
			<description><![CDATA[<p>Hello team, I am trying to use <strong>RSA-2048 based Signature generation &amp; Verification using wolfssl on s32k144EVB.</strong> So I used wolfssl source files from NXP folder found under design studio installation &amp; built it as static library. I have attached the user_settings.h file for which i&#039;m building the application. I&#039;m <strong>getting stack smashing error when generating signature for data. </strong>&quot;unsigned char* <strong>privKey&quot; is der pkcs1 key 2048bit </strong>, &quot;size_t privKeyLen&quot; is the sizeof privKey byte array is 1218 bytes. Also i&#039;ve attached the test application source file here. Requesting your help with this issue. I am using below wolfssl functions in order.<br />1.ret = wc_InitRng(&amp;rng);<br />2.ret = wc_InitRsaKey(&amp;rsaKey, NULL);<br />3.ret = wc_RsaPrivateKeyDecode(privKey, &amp;idx, &amp;rsaKey, (word32)privKeyLen);<br />4.ret = wc_Sha256Hash(inData, (word32)inDataLen, hash);<br />5.int keySize = wc_RsaEncryptSize(&amp;rsaKey);<br />6.ret = wc_RsaSSL_Sign(<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hash,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; sizeof(hash),<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; outSign,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (word32)*inOutSignBufSize,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &amp;rsaKey,<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &amp;rng<br />&nbsp; &nbsp; );</p>]]></description>
			<author><![CDATA[null@example.com (informchandrakant)]]></author>
			<pubDate>Mon, 16 Feb 2026 15:37:52 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/topic2473-rsa-2048-bit-signature-generation-verification-new-posts.html</guid>
		</item>
		<item>
			<title><![CDATA[ECDSA secp256r1 Verification on 16-bit Microcontroller]]></title>
			<link>https://www.wolfssl.com/forums/topic2405-ecdsa-secp256r1-verification-on-16bit-microcontroller-new-posts.html</link>
			<description><![CDATA[<p>Hello,<br />I&#039;m evaluating the use of wolfCrypt for ECDSA signature verification using the secp256r1 curve on a 16-bit microcontroller. My goal is to achieve this using only configuration options, without implementing custom math routines.<br />I&#039;ve selected the Integer Heap Math backend (USE_INTEGER_HEAP_MATH), as it appears to be the most compatible option for my platform. However, I&#039;m encountering issues with the optimized ECC verification helper function ecc_verify_hash_sp, which is automatically enabled via HAVE_ECC_VERIFY_HELPER when no hardware ECC macros are defined.<br />This function seems to lack an implementation suitable for my platform, and disabling HAVE_ECC_VERIFY_HELPER leads to compilation errors due to undeclared variables like sigRS.<br />Could you please advise:</p><p>Whether ECDSA secp256r1 verification is feasible on 16-bit platforms using only configuration (without custom math)?<br />If so, what is the recommended way to configure the library to bypass ecc_verify_hash_sp and ensure compatibility?</p><p>Thank you!</p>]]></description>
			<author><![CDATA[null@example.com (apf58)]]></author>
			<pubDate>Fri, 31 Oct 2025 15:05:13 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/topic2405-ecdsa-secp256r1-verification-on-16bit-microcontroller-new-posts.html</guid>
		</item>
		<item>
			<title><![CDATA[Packages 5.8.0 and 5.8.2 cause compilation errors on Keil uVision]]></title>
			<link>https://www.wolfssl.com/forums/topic2390-packages-580-and-582-cause-compilation-errors-on-keil-uvision-new-posts.html</link>
			<description><![CDATA[<p>Hi,</p><p>I&#039;m trying to integrate WolfSSL into a project using Keil uVision EDK, but trying to use the packages 5.8.0 or 5.8.2 cause a compilation error because the project is being asked to compile two files that are not present: <br /></p><ul><li><p>%LocalAppData%\Arm\Packs\wolfSSL\wolfSSL\5.8.2\wolfssl\wolfcrypt\src\port\arm\thumb2-kyber-asm_c.c</p></li><li><p>%LocalAppData%\Arm\Packs\wolfSSL\wolfSSL\5.8.2\wolfssl\wolfcrypt\src\ext_kyber.c</p></li></ul><p>The packages were downloaded from <a href="http://www.wolfssl.com/files/ide/wolfSSL.wolfSSL.5.8.0.pack">http://www.wolfssl.com/files/ide/wolfSS … 5.8.0.pack</a>, and <a href="http://www.wolfssl.com/files/ide/wolfSSL.wolfSSL.5.8.2.pack">http://www.wolfssl.com/files/ide/wolfSS … 5.8.2.pack</a>.</p><p>The package for 5.7.6 had no issues and let me compile without issues, but I would need the 5.8.2 version for some of the fixes to the STM32 Hardware crypto.</p><p>Do you know if there is a way to tell uVision to ignore the file (since it is part of a package, and directly part of WolfCrypt:CORE, uVision doesn&#039;t really let me remove the file), or is it possible to have a version of the .pack file that doesn&#039;t point to these two removed files?</p><p>Best regards,<br />David</p>]]></description>
			<author><![CDATA[null@example.com (DavidPittet)]]></author>
			<pubDate>Tue, 23 Sep 2025 14:27:32 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/topic2390-packages-580-and-582-cause-compilation-errors-on-keil-uvision-new-posts.html</guid>
		</item>
		<item>
			<title><![CDATA[Code runs successfully in v5.6.6-stable but fails in v5.8.2-stable]]></title>
			<link>https://www.wolfssl.com/forums/topic2388-code-runs-successfully-in-v566stable-but-fails-in-v582stable-new-posts.html</link>
			<description><![CDATA[<p>Hello,</p><p>I&#039;m working on wolfSSL in an academic setting. This is part of a larger code base that is using wolfSSL + SGX.</p><p><strong>Context</strong>: My main code base (currently private) was throwing errors on the SGX part when I added code to validate a certificate chain and a signature. For example, `error: unknown type name ‘time_t’`. In order to track down the issue, to see if this is a problem with my code or with wolfSSL, I was trying to create a separate MWE with only this block of code (to run outside SGX, i.e. with normal wolfSSL).</p><p><strong>Current problem</strong>: This smaller chunk of code is not throwing errors when compiling, but the output is different depending on the wolfSSL version in use:<br />- With v5.6.6-stable it works as expected (the output is all zeros).<br />- With v5.8.2-stable, however, the code errors out when trying to load the first certificate.</p><p>The code fails in function </p><div class="codebox"><pre><code>wolfSSL_X509_load_certificate_buffer</code></pre></div><p> (L162) with the error ASN_PARSE_E.</p><p>I&#039;ve placed the code in a git repo:<br /><a href="https://github.com/andrade/iamstuck/tree/master/2509-wolfssl-chain-verify">https://github.com/andrade/iamstuck/tre … ain-verify</a></p><p>In addition, the README has the output of the code when run with 5.6.6 (same version as in Ubuntu repositories) and with 5.8.2, which is the latest stable version.</p><p>Any idea on what is wrong?</p><p>Regards,<br />Daniel</p>]]></description>
			<author><![CDATA[null@example.com (andrade)]]></author>
			<pubDate>Fri, 19 Sep 2025 18:00:47 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/topic2388-code-runs-successfully-in-v566stable-but-fails-in-v582stable-new-posts.html</guid>
		</item>
		<item>
			<title><![CDATA[PQC algorithm integration in Linux Kernel space crypto module]]></title>
			<link>https://www.wolfssl.com/forums/topic2384-pqc-algorithm-integration-in-linux-kernel-space-crypto-module-new-posts.html</link>
			<description><![CDATA[<p>Is there any support available for PQC algorithm (like ML-DSA, SLH-DSA, etc.) in Linux kernel space crypto module<br />If not, please help in providing details of approach to integrate and any other info will be helpful</p>]]></description>
			<author><![CDATA[null@example.com (sathishkumar)]]></author>
			<pubDate>Tue, 09 Sep 2025 12:00:22 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/topic2384-pqc-algorithm-integration-in-linux-kernel-space-crypto-module-new-posts.html</guid>
		</item>
		<item>
			<title><![CDATA[Raspberry Pi Pico-2W RSA not working]]></title>
			<link>https://www.wolfssl.com/forums/topic2375-raspberry-pi-pico2w-rsa-not-working-new-posts.html</link>
			<description><![CDATA[<p>Hi all,</p><p>I have been trying to implement RSA on the Raspberry Pi Pico 2W RP2350 microcontroller with the Dual Cortex-M33 processor. However, I am getting stuck at wc_MakeRsaKey</p><div class="codebox"><pre><code>RsaKey priv;
WC_RNG rng;
int ret = 0;
long e = 65537; // standard value to use for exponent

ret = wc_InitRsaKey(&amp;priv, NULL);
printf(&quot;wc_InitRsaKey ret: %d\n&quot;, ret);
ret = wc_InitRng(&amp;rng);
printf(&quot;wc_InitRng ret: %d\n&quot;, ret);
ret = wc_RsaSetRNG(&amp;priv, &amp;rng);
printf(&quot;wc_RsaSetRNG ret: %d\n&quot;, ret);
// generate 2048 bit long private key
ret = wc_MakeRsaKey(&amp;priv, 2048, e, &amp;rng);
printf(&quot;wc_MakeRsaKey ret: %d\n&quot;, ret);</code></pre></div><p>I have tried the benchmark tests and have been unable to replicate the results at <a href="https://www.wolfssl.com/docs/benchmarks/">https://www.wolfssl.com/docs/benchmarks/</a> <br />The platform that WolfSSL tested with is slightly different:<br />Raspberry Pi Pico-W<br />ARM Cortext M0+, 125MHz<br />When trying to run to run bench_main from the example repository in WolfSSL:<br /><a href="https://github.com/wolfSSL/wolfssl-examples/blob/master/RPi-Pico/src/bench_main.c">https://github.com/wolfSSL/wolfssl-exam … nch_main.c</a><br />The code gets stuck at RSA.</p><br /><p>I saw a blog post here related to this issue:<br /><a href="https://www.wolfssl.com/forums/topic1252-solved-making-an-rsa-key-using-wcmakersakey-never-stops.html">https://www.wolfssl.com/forums/topic125 … stops.html</a></p><p>However, I am unsure if this is the issue and, if so, how to resolve it for my Pico 2W. Any help is appreciated.</p>]]></description>
			<author><![CDATA[null@example.com (yinzixuansz)]]></author>
			<pubDate>Mon, 01 Sep 2025 02:59:41 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/topic2375-raspberry-pi-pico2w-rsa-not-working-new-posts.html</guid>
		</item>
		<item>
			<title><![CDATA[AES Explanation]]></title>
			<link>https://www.wolfssl.com/forums/topic2334-aes-explanation-new-posts.html</link>
			<description><![CDATA[<p>In the example of wc_aesGcmEncrypt found at <a href="https://www.wolfssl.com/documentation/manuals/wolfssl/group__AES.html#function-wc_aesgcmencrypt">https://www.wolfssl.com/documentation/m … gcmencrypt</a> it does not use wc_AesGcmEncryptInit but for the file example it is used and required to complete the encryption. <a href="https://github.com/wolfSSL/wolfssl-examples/blob/master/crypto/aes/aesgcm-file-encrypt.c.">https://github.com/wolfSSL/wolfssl-exam … encrypt.c.</a></p><p>Do I need to always call the initializations?</p>]]></description>
			<author><![CDATA[null@example.com (bryce.bartlett)]]></author>
			<pubDate>Wed, 02 Jul 2025 17:31:45 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/topic2334-aes-explanation-new-posts.html</guid>
		</item>
		<item>
			<title><![CDATA[Crypto Callbacks: Managing HSM hash context and context copying]]></title>
			<link>https://www.wolfssl.com/forums/topic2331-crypto-callbacks-managing-hsm-hash-context-and-context-copying-new-posts.html</link>
			<description><![CDATA[<p>Hi all,</p><p>I’m integrating the wolfSSL (v5.7.6) library into an Infineon Aurix (tc3xx) which utilizes a HSM (etas Cycur HSM). I&#039;m trying to offload various crypto functions to the HSM and am running into issues.<br />Because the HSM is not stateless, each hash operation needs its own session/context, which must be managed per hash object.</p><p>Current approach:</p><p>On first update, I allocate a context from a memory pool and store it in the devCtx pointer of the wolfSSL hash object.</p><p>On finalize, I close the HSM session, free the context, and set devCtx to NULL.</p><p>I&#039;m currently not yet at the point where I actually feed the HSM with data, as I am testing if the opening and closing of sessions with the pools themselves work.</p><p>Problem:<br />I’ve observed that wolfSSL sometimes internally copies (clones) the SHA256 context via the wc_Sha256GetHash() function - including my devCtx pointer.<br />This results in both the original and the copy calling finalize (and freeing the same context), leading to double-free or resource leaks, because there’s no way to distinguish the “real” owner from a clone.</p><p>I’ve noticed:</p><p>Some device ports (e.g., for ESP, PIC, STM32) and features like WOLFSSL_ASYNC_CRYPT seem to support callback hooks or custom context copy/free handling.</p><p>But I haven’t found a generic, portable way to handle context lifecycle events (copy/clone/free) for my own MCU/HSM, or a way to enable these hooks via public configuration.</p><p>My questions:</p><p>Is there a portable way (not device-specific) to get notified when wolfSSL copies or destroys a hash context, or to customize this process?</p><p>If not, is patching the library to add these hooks the only solution, like adding my own wc_Sha256* functions? Another idea would be to omit the sha256.c file and compile in my own instead that handles lifecycle and so on.</p><p>Are there plans to expose such lifecycle hooks for generic crypto callback users, or are there any existing workarounds (besides buffering all hash input)?</p><p>Why I need this:<br />My HSM context can’t be blindly copied or freed multiple times.<br />I need to track ownership, ideally with explicit create/copy/free callbacks, to avoid double-free and allow robust session management - especially if wolfSSL hashes in parallel or clones contexts internally.</p><p>Any advice, or pointers to a non-device-specific solution, would be greatly appreciated!</p><p>Thanks!</p>]]></description>
			<author><![CDATA[null@example.com (Felix P)]]></author>
			<pubDate>Wed, 18 Jun 2025 09:12:36 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/topic2331-crypto-callbacks-managing-hsm-hash-context-and-context-copying-new-posts.html</guid>
		</item>
		<item>
			<title><![CDATA[How do use Alt names with the flag `--disable-opensslall`?]]></title>
			<link>https://www.wolfssl.com/forums/topic2329-how-do-use-alt-names-with-the-flag-disableopensslall-new-posts.html</link>
			<description><![CDATA[<p>Im trying to have a light weight bundle by disabling features I don&#039;t need.<br />My current needs are to generate certificates on the fly with SAN, but while compiling with `--disable-opensslall`, `WOLFSSL_ALT_NAMES` is turned off.</p><p>So my question is, if I pass `WOLFSSL_ALT_NAMES` manually like in the example below, will it work correctly, or do I have to enable `opensslall`?</p><p>This is configuration I am talking about:<br /></p><div class="codebox"><pre><code>./configure \
    --disable-shared \
    --disable-opensslall \
    --disable-des3 \
    --disable-dh \
    --disable-oldtls \
    --disable-psk \
    --disable-md5 \
    --disable-sha \
    --enable-static \
    --enable-certgen \
    --enable-certext \
    CFLAGS=&quot;-arch arm64&quot; \
    CPPFLAGS=&quot;-DWOLFSSL_ALT_NAMES&quot; \
    --host=aarch64-apple-darwin</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (samuel_e)]]></author>
			<pubDate>Sun, 15 Jun 2025 12:39:58 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/topic2329-how-do-use-alt-names-with-the-flag-disableopensslall-new-posts.html</guid>
		</item>
		<item>
			<title><![CDATA[STM32L4a6 Brainpool Curve]]></title>
			<link>https://www.wolfssl.com/forums/topic2328-stm32l4a6-brainpool-curve-new-posts.html</link>
			<description><![CDATA[<p>Hi, <br />I am using the wolfcrypt benchmark to compare the performance of secp256r1, curve25519 and brainpool. Just for speed, not for size.</p><p>I am using the wolfSSL Cube Configuration file.<br />I obtain the fastest operations for secp256r1 with WOLF_CONF_MATH 4, ie. with WOLFSSL_SP and WOLFSSL_SP_ARM_CORTEX_M_ASM defined. With this configuration the benchmark fails for the brainpool curve, with&nbsp; Error Code -234 Key size error. <br />The fastest configuration combination for brainpool I tested was WOLF_CONF_MATH 5, ie. with WOLFSSL_SP and WOLFSSL_SP_MATH_ALL defined. But brainpool is in this configuration more than 10 times slower, than secp256r1 in the fast configuration with&nbsp; WOLFSSL_SP and WOLFSSL_SP_ARM_CORTEX_M_ASM defined. </p><p>Am I configuring something wrong or is this the expected behavior and brainpool curves do not work with WOLFSSL_SP_ARM_CORTEX_M_ASM? </p><br /><p>Cheers,<br />Jakob</p>]]></description>
			<author><![CDATA[null@example.com (jbrl)]]></author>
			<pubDate>Fri, 13 Jun 2025 12:27:38 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/topic2328-stm32l4a6-brainpool-curve-new-posts.html</guid>
		</item>
		<item>
			<title><![CDATA[Infinite Loop for MakeRsaKey()]]></title>
			<link>https://www.wolfssl.com/forums/topic2324-infinite-loop-for-makersakey-new-posts.html</link>
			<description><![CDATA[<p>I am trying to make an RSA key and my program gets into an infinite loop when it gets to the <br />sp_prime_miller_rabin(const sp_int* a, sp_int* b, int* result, sp_int* n1, sp_int* r)&nbsp; function. The function at the end checks that the y and n1 arrays are equal to each other (y is a pointer to the parameter b in this case) and if they are equal then the function will set *result to the correct value needed for the program to continue. But for me they never equal to each other so it sets *result to MP_NO and that just causes my program to be stuck in an infinite loop. Any help would be appreciated. Thanks.</p>]]></description>
			<author><![CDATA[null@example.com (DJ3434)]]></author>
			<pubDate>Mon, 09 Jun 2025 21:58:29 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/topic2324-infinite-loop-for-makersakey-new-posts.html</guid>
		</item>
		<item>
			<title><![CDATA[SHA384 Determinism]]></title>
			<link>https://www.wolfssl.com/forums/topic2323-sha384-determinism-new-posts.html</link>
			<description><![CDATA[<p>I&#039;m testing wc_InitSha384, wc_Sha384Update and wc_Sha384Final and I&#039;m finding that my final hashed value is different every time I make a call. I&#039;m hashing a byte array of 255, 255, 255 into a byte array of length 48 and it has different values every time. What gives?</p>]]></description>
			<author><![CDATA[null@example.com (bryce.bartlett)]]></author>
			<pubDate>Thu, 05 Jun 2025 17:25:03 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/topic2323-sha384-determinism-new-posts.html</guid>
		</item>
		<item>
			<title><![CDATA[RSA InitRsaKey Memory Error]]></title>
			<link>https://www.wolfssl.com/forums/topic2320-rsa-initrsakey-memory-error-new-posts.html</link>
			<description><![CDATA[<p>What would be causing a MEMORY_E error during the initialization of an RSA key?</p><p>My user_settings.h defines related to RSA are:</p><p>WC_RSA_BLINDING<br />WC_RSA_PSS<br />USE_WOLFSSL_MEMORY<br />WOLFSSL_HAVE_SP_RSA<br />WOLFSSL_KEY_GEN<br />TARGET_EMBEDDED</p><p>If it helps I have also tried NO_MALLOC which causes the RSA initialization to hang indefinitely.</p><p>This on a Linux machine.</p>]]></description>
			<author><![CDATA[null@example.com (bryce.bartlett)]]></author>
			<pubDate>Thu, 29 May 2025 21:10:15 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/topic2320-rsa-initrsakey-memory-error-new-posts.html</guid>
		</item>
		<item>
			<title><![CDATA[MISRA Compliance]]></title>
			<link>https://www.wolfssl.com/forums/topic2313-misra-compliance-new-posts.html</link>
			<description><![CDATA[<p>In the description of WolfCrypt it is stated that WolfCrypt is MISRA available. Does this mean there are versions that are MISRA compliant or that all versions of WolfCrypt are MISRA compliant? At the same time is WolfSSL MISRA compliant and what edition is it compliant to?</p>]]></description>
			<author><![CDATA[null@example.com (bryce.bartlett)]]></author>
			<pubDate>Wed, 30 Apr 2025 18:26:45 +0000</pubDate>
			<guid>https://www.wolfssl.com/forums/topic2313-misra-compliance-new-posts.html</guid>
		</item>
	</channel>
</rss>
