Commit Graph

5678 Commits

Author SHA1 Message Date
Daniel Pouzzner
72bf78b2f7 backport 5030484bcf to wolfcrypt/src/random.c and wolfssl/wolfcrypt/random.h:
* add WC_DRBG_{NOT_INIT,OK,FAILED,CONT_FAILED} in public header file, and
* move setup for RNG_SECURITY_STRENGTH, ENTROPY_SCALE_FACTOR, SEED_BLOCK_SZ, SEED_SZ, MAX_SEED_SZ, and RNG_HEALTH_TEST_CHECK_SIZE from random.c to random.h, with public WC_DRBG_SEED_SZ and WC_DRBG_MAX_SEED_SZ.
2025-12-23 20:50:45 -06:00
Daniel Pouzzner
200e6b6495 wolfcrypt/src/sha512.c: in wc_Sha512Transform(), fix sequence of check added by 3b768bcb5e, fix WOLFSSL_SMALL_STACK double-declaration of buffer, and fix gate on XFREE(buffer, ...). 2025-12-19 10:11:15 -06:00
Daniel Pouzzner
c44d421306 wolfcrypt/src/hmac.c: fix FIPS version gate on wc_HmacFree() in wc_HmacSetKey(). 2025-12-18 16:05:09 -06:00
Daniel Pouzzner
2cf1253c54 fix out-of-order ForceZero()s in wc_HKDF_Extract(), wc_HKDF_Expand(), and wc_SSH_KDF() (fixes 844e961ff5). 2025-12-18 15:35:10 -06:00
Daniel Pouzzner
9160ac04fd backport 2b28931855 "wolfcrypt/src/sha256.c and wolfcrypt/src/sha512.c: in WOLFSSL_SMALL_STACK_CACHE builds, allocate shafoo->W at init or context copy time, rather than in the transform function. for the SHA512 family, allocate additional space in W for "buffer" in wc_Sha512Transform()." 2025-12-18 14:09:43 -06:00
Daniel Pouzzner
f4e22afa68 backport HmacKeyCopyHash() from bfd52decb6 and wc_HmacCopy() from 50b51adc93. 2025-12-18 13:40:35 -06:00
Daniel Pouzzner
4bd0b3ef41 backport f771181e1a to wolfcrypt/src/ecc.c (smallstack refactor of ecc_mul2add()). 2025-12-17 13:07:49 -06:00
Daniel Pouzzner
481db6f1ac backport 401868908a (smallstack refactor of wc_ecc_mulmod_ex2()). 2025-12-17 13:04:57 -06:00
Daniel Pouzzner
4d0f78e7a4 backport random.c and random.h from #9545 "20251211-DRBG-SHA2-smallstackcache-prealloc", full replacement. 2025-12-17 12:11:39 -06:00
Daniel Pouzzner
0c27b69521 wolfcrypt/src/random.c: in wc_RNG_GenerateBlock(), when WC_RNG_SEED_CB, use seedCb rather than wc_GenerateSeed (crucial bug fix for linuxkm). 2025-12-05 14:54:36 -06:00
kaleb-himes
9951e96037 WCv5.2.3-ARMv8-PAA-r2 rework with pkcs7 fix 2025-09-22 17:53:09 -05:00
kaleb-himes
da13fb29be Add ARMv8 PAA support to base v5.2.1 resulting in v5.2.3 2025-09-22 17:53:09 -05:00
Lealem Amedie
779f8e34cb Add ability to switch to STD RSA method 2025-09-22 16:57:38 -05:00
Lealem Amedie
25357e14eb Remove DH_GEN_PUB macro requirement 2025-05-09 15:49:43 -06:00
Lealem Amedie
f82bcabb19 Pulling in wc_DhGeneratePublic API 2025-04-29 17:03:41 -06:00
kaleb-himes
6075b44e7e Module v5.2.3 STM32 PAA 2025-01-06 13:26:53 -07:00
kaleb-himes
844e961ff5 Check-in FIPS 140-3 PILOT changes 2023-08-28 15:43:24 -07:00
Masashi Honma
6086728968 Fix possible segfault occurs when mp_clear() is executed for uninitialized mp_int
If NULL is passed as the digest argument of wc_DsaSign(), mp_clear() will be
called before mp_init() is called. This can cause segmentation fault.

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
2021-11-16 09:57:02 +09:00
Masashi Honma
f621defefe Fix the segfault occurs when mp_clear() is executed for uninitialized mp_int on i386
test_wc_DsaSignVerify() passes the tests but causes an error.

free(): invalid pointer

If NULL is passed as the digest argument of wc_DsaVerify(), mp_clear() will be
called before mp_init() is called. On qemu-i386, the dp field of the mp_int
structure is non-null by default, which causes a segmentation fault when calling
mp_clear(). However, if WOLFSSL_SMALL_STACK is enabled, this problem does not
occur.

Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
2021-11-16 09:56:56 +09:00
Sean Parkinson
64407bbd7d Merge pull request #4564 from rizlik/unused_ret_value_fix
woflcrypt/src/rsa.c: check memory allocation return value
2021-11-16 08:56:47 +10:00
Sean Parkinson
79f18c7585 SP sync: Missing update 2021-11-15 08:33:14 +10:00
David Garske
a626a4fb02 Fixes for spelling errors. 2021-11-12 10:27:49 -08:00
David Garske
600d562168 Merge pull request #4558 from anhu/falcon_bench
Add Falcon benchmarking.
2021-11-12 09:14:08 -08:00
John Safranek
4e20b93e72 Merge pull request #4556 from douzzer/updateFipsHash 2021-11-11 14:23:01 -08:00
John Safranek
c702dab988 Merge pull request #4561 from haydenroche5/wc_prf_fix 2021-11-11 13:03:58 -08:00
Marco Oliverio
3ea4e35737 woflcrypt/src/rsa.c: check memory allocation return value 2021-11-11 16:25:03 +01:00
Hayden Roche
2f29ca1092 Make fixes/improvements to TLS PRF code.
Make `wc_PRF` return an error if it doesn't find a corresponding hash for the
passed in hash type. Currently, if `wc_PRF_TLS` is called with `NO_OLD_TLS`
defined, it will do nothing but still return success. Make it return an error
instead. These problems were uncovered when running the wolfEngine unit tests
with wolfSSL 5.0.0 FIPS Ready, which defines `NO_MD5` and `NO_OLD_TLS`.
2021-11-10 15:19:43 -08:00
David Garske
3c1deff611 Fix falcon bench cleanup case (should not free if init fails). Fix RSA key gen keySz with ./wolfcrypt/benchmark/benchmark -asym. 2021-11-10 15:03:44 -08:00
Anthony Hu
453404a864 Get the falcon keys into wolfssl/certs_test.h 2021-11-10 17:33:24 -05:00
Anthony Hu
5fe078d7db sig1, sig5 --> sig 2021-11-10 16:52:05 -05:00
Anthony Hu
246d470956 Refactor to do proper memory management. 2021-11-10 16:42:48 -05:00
Anthony Hu
6165323829 Satisfy a jenkins test. 2021-11-10 15:29:09 -05:00
Anthony Hu
237b098ba5 Add Falcon benchmarking. 2021-11-10 14:53:35 -05:00
Daniel Pouzzner
ed0418c2a8 fix whitespace. 2021-11-09 22:17:38 -06:00
Sean Parkinson
341bd7bbbc mp_test: when SP_INT_DIGITS is even calc was wrong 2021-11-10 09:33:14 +10:00
Sean Parkinson
8e0fdc64be Merge pull request #4522 from dgarske/static_eph
Fixes and refactor for static ephemeral key support
2021-11-10 08:22:51 +10:00
David Garske
9a83842c29 Merge pull request #4536 from luizluca/refactor_nameconstraints-permit
ASN: refactor name constraints checks
2021-11-09 10:44:17 -08:00
David Garske
df82b01e68 Added x448 static ephemeral support. 2021-11-09 08:27:42 -08:00
David Garske
5dac25f470 Eliminate EIGHTK_BUF use in asn. Cleanup uses of 0 in set_verify for callback. 2021-11-09 08:23:19 -08:00
Daniel Pouzzner
97557ed29b linuxkm: add --enable-benchmark switch (default yes) and BUILD_BENCHMARK conditional to configure.ac to allow build with testwolfcrypt but without benchmark; change gate in wolfcrypt/benchmark/include.am from if !BUILD_LINUXKM to if BUILD_BENCHMARK. 2021-11-08 18:25:15 -06:00
Daniel Pouzzner
03d5c4e6d3 test.c: fix whitespace. 2021-11-08 18:24:42 -06:00
Daniel Pouzzner
95bed1cdfd test.c: smallstack refactors for idea_test(), ed448_test(), and verifyBundle() (fixes various error-dependent leaks too). 2021-11-08 17:35:10 -06:00
Daniel Pouzzner
f8565f26e2 fixes for --disable-harden. 2021-11-08 17:35:10 -06:00
Daniel Pouzzner
27d4bb304c test.c add smallstack refactor of pkcs7enveloped_run_vectors(). 2021-11-08 17:35:10 -06:00
Daniel Pouzzner
26cc534dd2 wolfcrypt/test/test.c: fix memory leaks in pkcs7signed_run_[SingleShot]Vectors() added in smallstack refactor. 2021-11-08 17:35:10 -06:00
Daniel Pouzzner
8b3048a0ea wolfcrypt/test/test.c: smallstack refactors for pkcs7authenveloped_run_vectors(), pkcs7signed_run_vectors(), and pkcs7signed_run_SingleShotVectors(); typographic&whitespace cleanup. 2021-11-08 17:35:10 -06:00
Daniel Pouzzner
0b4f34d62a typographic cleanup: fix whitespace, remove unneeded UTF-8, convert C++ comment constructs to C. 2021-11-08 17:35:05 -06:00
Luiz Angelo Daros de Luca
01335e2e1c ASN: refactor name constraints checks
Use the same logic for any type of name constraint.

It could be even cleaner if there were a altNamesByType[],
permittedNamesByType[] and excludedNamesByType[] in cert.

Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
2021-11-08 20:29:18 -03:00
Daniel Pouzzner
8f121e7752 file modes: clear inappropriate executable bits. 2021-11-08 17:28:11 -06:00
Sean Parkinson
dd833807d8 Merge pull request #4523 from dgarske/nxp_se050_fixes
Fixes for NXP SE050 ECC create and key store id
2021-11-09 08:56:03 +10:00