Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for loading user CA certs from an arbitrary Windows cert store. #7503

Closed
wants to merge 212 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
212 commits
Select commit Hold shift + click to select a range
146f72f
More application dependencies
Mar 12, 2024
8be23ce
Normally these tests take 3 minutes, but sometimes they take much longer
Mar 18, 2024
91b5b31
Add in powerpc cross compilation tools
Mar 25, 2024
0f6ed79
First test build on 2024-03-06
Mar 18, 2024
4bb4a66
Using PR version
Mar 19, 2024
7011f46
Use official repo to build
Mar 21, 2024
dc3a7a1
Get rid of magic number to size structs.
anhu Feb 29, 2024
3e1bbb7
add ocsp test
JacobBarthelmeh Mar 19, 2024
4c490d0
Fix potential division by zero in example server.
kareem-wolfssl Mar 20, 2024
9a3e8f9
Fix floating point comparison.
kareem-wolfssl Mar 20, 2024
28b2066
ASN.1 testing: add tests of bad DER encodings
SparkiDev Mar 21, 2024
6ccdb9b
configure.ac: enable ticket_nonce_malloc when using enable-curl
rizlik Mar 22, 2024
159c949
Initialize some Kyber variables
gojimmypi Mar 25, 2024
808d4b2
sizeof(oriType) ---> sizeof(asnDataOid)
anhu Mar 27, 2024
fa6f2e3
Fix sanitizer complaint
Mar 28, 2024
b8ecef0
src/ssl.c: add missing cast in wolfSSL_GetSessionFromCache().
douzzer Mar 28, 2024
442f532
Improve Zephyr support. Cleanup user_settings.h mess. Add FIPS support.
dgarske Mar 12, 2024
c12d612
Fix for Zephyr `TimeNowInMilliseconds`. Resolves issue with TLS v1.3 …
dgarske Mar 15, 2024
9b18305
Add include for project for cases when a custom user_settings.h file …
dgarske Mar 15, 2024
b0d7a53
Experimental support for Intel and ARM ASM with Zephyr. Related to is…
dgarske Mar 18, 2024
2a89e81
Fixes for ARM/Intel ASM support.
dgarske Mar 20, 2024
5ce6e9f
Initialize some Kyber client variables
gojimmypi Mar 28, 2024
c498d15
wolfcrypt: wc_ecc_cmp_param: check string len before strncmp
rizlik Mar 26, 2024
a483284
wolfssl/wolfcrypt/types.h: add WC_SAFE_SUM_WORD32().
douzzer Mar 29, 2024
d6c305a
Improve wolfcrypt test NO_FILESYSTEM checks
gojimmypi Mar 22, 2024
5d31657
fix wc_MakeRsaKey and wc_RsaKeyToDer to work with
jpbland1 Mar 25, 2024
a40b211
update based on PR comments
jpbland1 Mar 25, 2024
85a9546
more changes from PR comments
jpbland1 Mar 25, 2024
a77a530
break out of loop on failure instead of return
jpbland1 Mar 25, 2024
49727a1
fix bad indenting
jpbland1 Mar 25, 2024
2286da1
update rsa test to support no malloc
jpbland1 Mar 25, 2024
7ff3f95
add github workflow to test no malloc
jpbland1 Mar 26, 2024
915805b
add no malloc to main workflows file
jpbland1 Mar 28, 2024
ae6bf34
add autogen.sh to workflow
jpbland1 Mar 26, 2024
03bfcc6
fix bad CFLAGS
jpbland1 Mar 26, 2024
ebb9da0
use only one matrix index
jpbland1 Mar 26, 2024
9afdc9e
test wolfcrypt only
jpbland1 Mar 26, 2024
9f3e7ba
add missing make call
jpbland1 Mar 26, 2024
0b29361
trim down buffer size
jpbland1 Mar 28, 2024
2ac90f9
reduce der buffer size
jpbland1 Mar 28, 2024
6f41086
refactor rawLen to avoid unused warning
jpbland1 Mar 30, 2024
6207f48
Fix build error with RECORD_SIZE defined
embhorn Apr 2, 2024
6db7776
Revert "Disable broken library"
Apr 1, 2024
81579e4
Used codespell and fixed obvious typos.
philljj Apr 2, 2024
608d79a
Support for Infineon Modus Toolbox with wolfSSL.
dgarske Mar 27, 2024
8ee2c7a
Add support for the Infineon/Cypress HAL TRNG.
dgarske Mar 28, 2024
8c14f0c
Allow to enable DES3 support without the DES3 ciphers
fabiankeil Mar 12, 2021
ca1efb5
Cleanup DES3 TLS descriptions and macro names.
dgarske Mar 14, 2024
6b7b86c
cmake: Add WOLFSSL_DES3_TLS_SUITES option
fabiankeil Apr 2, 2024
1ef1175
Fix the NXP MMCAU HW acceleration for SHA2-256. Broken with LMS SHA2 …
dgarske Apr 3, 2024
82785cb
fix for sp build with ecc_map_ex
JacobBarthelmeh Apr 2, 2024
1756615
Improvements to dual alg certificates
Frauschi Feb 7, 2024
b3eaa19
If WOLFSSL_TRUST_PEER_CERT is defined, the negative test is no longer…
anhu Mar 28, 2024
f50a191
src/tls13.c: remove unreachable break in DoTls13CertificateVerify().
douzzer Mar 29, 2024
9303d32
Add check inspired by original implementation of asn.
anhu Apr 1, 2024
2cdf0f4
cks_order is used later; don't let it fall out of scope.
anhu Apr 1, 2024
fa9b1ca
Forgot to clean up the preTBS.
anhu Apr 1, 2024
3a3157f
Clean up after another round of analyzer execution.
anhu Apr 1, 2024
8a8b611
Parenthesis
anhu Apr 1, 2024
5ccfff3
wolfcrypt/src/asn.c: fix for benign identicalInnerCondition in ParseC…
douzzer Apr 2, 2024
b5d8f53
Address comments from Jacob.
anhu Apr 3, 2024
e0f6622
ProcessBuffer(): in WOLFSSL_DUAL_ALG_CERTS code path, fall through wi…
douzzer Apr 3, 2024
bf119e6
add "VERSION3" variants of macros for testing and computing FIPS vers…
kaleb-himes Mar 12, 2024
b640b12
wolfssl/wolfcrypt/settings.h: streamline definitions of WOLFSSL_FIPS_…
douzzer Apr 5, 2024
aa38413
fixes for non-portable (endian-sensitive) code patterns around word16…
douzzer Apr 5, 2024
73242d9
fixes for analyzer carps around HAVE_RPK:
douzzer Apr 4, 2024
ed27fa8
Make wc_RNG_DRBG_Reseed() a wolfCrypt API.
anhu Apr 2, 2024
80ba52a
RPK: Define Certificates correctly for (D)TLS1.2
mrdeep1 Mar 20, 2024
5edd79e
check for critical policy extension when not supported
JacobBarthelmeh Apr 2, 2024
9ed8f05
Restore `HAVE_NETDB_H` and `HAVE_SYS_IOCTL_H` checks in the wolfio.c.
dgarske Apr 1, 2024
6445d62
Add wc_XmssKey_ExportPubRaw to wolfcrypt test.
philljj Apr 5, 2024
d7282db
Small cleanup for review.
philljj Apr 9, 2024
8ab0009
No match cipher suite alert type change
SparkiDev Apr 8, 2024
fd9454e
Support (D)TLS1.3 downgrade when using PSK
mrdeep1 Mar 20, 2024
1e28b9a
CID 327280 use after free in test case
JacobBarthelmeh Mar 18, 2024
cc09d4f
CID 347893 set test cert manager to null after free
JacobBarthelmeh Mar 18, 2024
77554fa
X.509 RID ASN template behaviour
SparkiDev Apr 10, 2024
efc7aa2
SRTP-KDF FS Preview
Mar 2, 2024
78885d8
Restore debug messages that were cluttering up logs
kaleb-himes Mar 7, 2024
b74c35b
Add configure for wolfEngine with new module
kaleb-himes Mar 8, 2024
f9620f2
Touchup a few more edge cases caught by Jenkins
kaleb-himes Mar 11, 2024
6caefc2
Cleanup duplicate forward dec logic with different macros
kaleb-himes Mar 11, 2024
11a7254
Address a flush-left in test.c and gt 80 column limit in settings.h
kaleb-himes Mar 12, 2024
ac5b67a
Comments for SP800-38E TODO, wolfEntropy optional setup and remove fo…
kaleb-himes Mar 22, 2024
714504c
Bring fips-dev inline with fips-ready
kaleb-himes Mar 22, 2024
1fb3a1a
Implement peer review feedback
kaleb-himes Mar 22, 2024
a7ff94f
Fix offset (whitespace)
kaleb-himes Mar 22, 2024
4218c88
More peer feedback
kaleb-himes Mar 23, 2024
a93b3ea
Expose additional features of opensslall in a compliant way
kaleb-himes Apr 4, 2024
cf3cb41
Address Jenkins caught item
kaleb-himes Apr 4, 2024
3d45d82
WIN fips section refactor / wolfEntropy API syntax adjustment
kaleb-himes Apr 4, 2024
181473c
Make wolfEntropy optional and bring settings.h in sync w/ master
kaleb-himes Apr 9, 2024
ae54ff2
Resolve armasm fips wrappers and sanity
kaleb-himes Apr 9, 2024
e9c7218
Windows support
kaleb-himes Apr 9, 2024
b5ee3b8
Addendum to windows support with OpenSSL Extra enabled
kaleb-himes Apr 9, 2024
eb05378
Set debugging off by default
kaleb-himes Apr 9, 2024
5e29fb9
Multi-test doesn't like over-long lines
kaleb-himes Apr 9, 2024
8a77651
Address new file item reported by Jenkins
kaleb-himes Apr 10, 2024
93fff99
Fix a file mode and more overlong lines
kaleb-himes Apr 10, 2024
57f2487
Add new fips-ready dependencies to WIN10 project
kaleb-himes Apr 11, 2024
1e62926
Removed duplicate file from project
kaleb-himes Apr 11, 2024
505fb49
Add yet another cross compiling tool
Apr 12, 2024
3bf9c5f
fix rx72n compile
miyazakh Apr 4, 2024
61272dd
Only require WOLFSSL_W64_WRAPPER if WOLFSSL_XMSS_MAX_HEIGHT greater t…
philljj Apr 3, 2024
5f06dc1
wc_xmss_impl requires misc.c functions.
philljj Apr 3, 2024
e1f461b
Additional changes to support wolfboot wc_lms.
philljj Apr 12, 2024
fe53b76
Modify PlatformIO FreeRTOS include path, settings.h
gojimmypi Apr 11, 2024
6bf3f1e
linuxkm/linuxkm_memory.c: refactor wc_linuxkm_fpu_state_assoc() as a …
douzzer Apr 11, 2024
5b61820
Add PQ Files for windows.
anhu Apr 12, 2024
3eb1c33
fixes for v5 and v6+ FIPS builds, including linuxkm v6+ builds.
douzzer Apr 14, 2024
e078fcc
wolfcrypt/test/test.c: fix return code in pbkdf2_test(), add DEBUG_WO…
douzzer Apr 15, 2024
7d25ef7
Update hostap certs ref
julek-wolfssl Apr 16, 2024
c7f1567
Expose DTLS in Ada wrapper and update examples
dalybrown Apr 4, 2024
f3893fc
Fix formatting issues and remove unused variable
dalybrown Apr 4, 2024
88fad14
Fix assertion that address length must be greater than zero
dalybrown Apr 4, 2024
336a26e
Address gnatprove warnings and errors
dalybrown Apr 5, 2024
70399ae
Address gnatprove issues in tls client
dalybrown Apr 8, 2024
bfa3e5c
ssl.c: Move functions out to separate files
SparkiDev Mar 5, 2024
6bffd1a
fixes for --enable-32bit CFLAGS=-m32 --enable-fips=v6 (fixes "#error …
douzzer Apr 16, 2024
bbf2b5e
wolfcrypt/src/aes.c: in AES-XTS AESNI, use cautious strategy as in AE…
douzzer Apr 16, 2024
f2db052
wolfcrypt/src/fe_448.c: fix several out-of-order declarations in fe44…
douzzer Apr 17, 2024
d394dd6
scripts/aria-cmake-build-test.sh: fix masked exit value.
douzzer Apr 17, 2024
ca54d8d
configure.ac: in setup for enable-all and enable-all-crypto with enab…
douzzer Apr 17, 2024
51c2798
fixes for cppcheck uninitvar src/pk.c (false positives) and nullPoint…
douzzer Apr 17, 2024
e9fabc0
src/ssl_load.c: in LoadSystemCaCertsWindows(), fix flub introduced in…
douzzer Apr 17, 2024
a764430
wolfcrypt/test/test.c: in aes_xts_128_test(), change DEBUG_VECTOR_REG…
douzzer Apr 18, 2024
3b7a8b2
fixes for WOLFSSL_DUAL_ALG_CERTS: "cannot take address of bit-field ‘…
douzzer Apr 18, 2024
121e7e5
EdDSA FIPS checks on public key
SparkiDev Apr 17, 2024
1a68288
Adjust FIPS version and default configuration
kaleb-himes Apr 18, 2024
4ae6bab
ssl_misc.c: wolfssl_file_len() protection
SparkiDev Apr 17, 2024
5468b94
SHA-256 x64 ASM - fix use of %rip
SparkiDev Apr 10, 2024
2643e60
ChaCha20 and Poly1305 x64 ASM - fixu use of %rip
SparkiDev Apr 10, 2024
9f30e40
Adding stubs required for latest nginx
Apr 18, 2024
5c5a712
Guard with OPENSSL_EXTRA instead of WOLFSSL_NGINX
Apr 18, 2024
9e1129a
check for conflicting HAVE_RENEGOTIATION_INDICATION and HAVE_SECURE_R…
anhu Apr 18, 2024
1a7f615
Fixes from configuration testing
SparkiDev Apr 18, 2024
9a1146e
linuxkm/Kbuild: add SHA-2, SHA-3, ChaCha20, and poly1305, to kernel-s…
douzzer Apr 19, 2024
f6fb236
wolfcrypt/src/ed25519.c: in ed25519_pairwise_consistency_test(), add …
douzzer Apr 19, 2024
794b296
Fix for AES-CFB1 encrypt/decrypt on size (8*x-1) bits
Apr 18, 2024
095f5a2
src/ssl_load.c: fix double-free in wolfSSL_CTX_SetTmpDH().
douzzer Apr 19, 2024
7979ba3
linuxkm/linuxkm_memory.c: require kernel 5.4+ for AESNI/AVX, and add …
douzzer Apr 20, 2024
4134425
SRTCP 32-bit indices default plus errata 48-bit indices
kaleb-himes Apr 19, 2024
789b2c4
Add test case
kaleb-himes Apr 19, 2024
8355e77
Handle PSK-Only negotiation with key_share not being sent in Server H…
mrdeep1 Apr 9, 2024
2e7665b
fix for WOLFSSL_NO_PEM build
JacobBarthelmeh Apr 17, 2024
c390da9
wolfcrypt/src/kdf.c: fix -Wconversions in wc_SRTCP_KDF_ex().
douzzer Apr 22, 2024
23d0841
Fix for AES CTR on STM32
Apr 19, 2024
315dc8a
Move rng seed cb call to wolfcrypt_test
Apr 19, 2024
8f5eee8
Engine doesn't need NO_OLD_RNG_NAME
Apr 19, 2024
2a82c04
add ENABLE_SCCACHE option
Naruto Apr 18, 2024
d1c4686
fix tracking mem properties under multi-threads
miyazakh Apr 18, 2024
098490d
Add CUDA support (#7436)
bandi13 Apr 23, 2024
9c7874f
wolfcrypt/src/sha{256,512,3}.c add SAVE_VECTOR_REGISTERS() for SHA-2 …
douzzer Apr 23, 2024
a6ab54b
Modify HMAC oversized key tests to consistently use test vectors from…
ColtonWilley Apr 23, 2024
19881de
Update enum wc_LmsParm for wolfboot support.
philljj Apr 23, 2024
c93c14d
Add wc_LmsKey_ExportPubRaw to wolfcrypt test.
philljj Apr 23, 2024
b2812c4
ECC allow keyVer of 192-bit (import OK, generate restricted)
kaleb-himes Apr 23, 2024
455695a
Remove excess empty line
kaleb-himes Apr 23, 2024
e8e97c7
Remove debug printf and place comments inside gate
kaleb-himes Apr 24, 2024
afddd1d
Get rid of some code with NO_OLD_TLS
anhu Apr 24, 2024
33ae655
fix formatting infractions in the ports (hard tabs, trailing whitespa…
douzzer Apr 24, 2024
8405fc8
Update benchmark to only parse rsa size if keygen is enabled, update …
ColtonWilley Apr 25, 2024
43579f3
dtls1.3: Fix issues when --enable-dtls13 enabled
mrdeep1 Apr 20, 2024
c49dec7
Clean up EVP usage in quic
julek-wolfssl Apr 24, 2024
96c5972
Add secret logging callback to TLS <= 1.2
julek-wolfssl Mar 22, 2024
721c72a
configure.ac: fix copyright year.
douzzer Apr 26, 2024
c54700b
wolfcrypt/test/test.c: fix invalidPrintfArgType_sint in lms_test_veri…
douzzer Apr 25, 2024
d495cbd
src/ssl.c: fix races in wolfSSL_Init() and wolfSSL_RAND_bytes().
douzzer Apr 25, 2024
cb5ad83
src/ssl.c: code style tweak from peer review.
douzzer Apr 26, 2024
4f2a74f
src/quic.c: fix -Wunused-function for evp_cipher_eq().
douzzer Apr 26, 2024
750c58f
src/ssl.c: refactor fix in wolfSSL_RAND_bytes() for race on initGloba…
douzzer Apr 26, 2024
31c4659
Fix quic header protect cipher return
julek-wolfssl Apr 26, 2024
aea902d
Code review
julek-wolfssl Apr 26, 2024
50719e0
Remove DES3 flag guard from pkcs12 tests that do not depend on DES3 code
ColtonWilley Apr 25, 2024
1379e3e
Improved the prioritization of crypto callback vs async crypt in ECC …
dgarske Apr 29, 2024
c4b6800
rename WC_AES_C_DYNAMIC_FALLBACK to WC_C_DYNAMIC_FALLBACK.
douzzer Apr 24, 2024
8ee6d4c
implement WC_C_DYNAMIC_FALLBACK for SHA256.
douzzer Apr 27, 2024
0440e48
implement WC_C_DYNAMIC_FALLBACK for SHA512.
douzzer Apr 27, 2024
2f288e3
implement WC_C_DYNAMIC_FALLBACK for SHA-3.
douzzer Apr 27, 2024
4341aad
linuxkm/linuxkm_memory.c: fix circular dependency around wolfCrypt_In…
douzzer Apr 27, 2024
a92857a
implement full support for --enable-intelasm --enable-linuxkm. also …
douzzer Apr 27, 2024
02aad88
add missing gate around Sha256_SetTransform() declaration in wolfcryp…
douzzer Apr 27, 2024
4dacd50
smallstack refactors of wolfcrypt/src/evp.c:wolfssl_evp_digest_pk_fin…
douzzer Apr 27, 2024
552153a
wolfssl/openssl/sha3.h: use sizeof(struct wc_Sha3) only ifdef WOLFSSL…
douzzer Apr 27, 2024
02042ca
address peer review: typography in linuxkm/linuxkm_memory.c, typograp…
douzzer Apr 29, 2024
d3d2cf4
Force a rebuild using the latest sources
Apr 29, 2024
e1d3b99
Add in 'langdale' and 'scarthgap' containers
Apr 29, 2024
4d29d55
Remove 'dunfell' as its support ends in 3 days
Apr 29, 2024
b866f14
fix warnings
miyazakh Apr 25, 2024
477bcc8
Spelling fixes.
dgarske Apr 26, 2024
19209aa
convert outLen type correctly
miyazakh Apr 30, 2024
a3a269d
Make the DTLS tests a bit more resilient
Apr 30, 2024
d4fa006
Introduce cmake_policy CMP0128 NEW
gojimmypi Apr 30, 2024
3927fb1
configure.ac: Add in --enable-rpk option
mrdeep1 Mar 30, 2024
54a400b
Generic Memory Pools
ejohnstown Apr 1, 2024
7b84005
Generic Memory Pools
ejohnstown Apr 1, 2024
694ab5e
Generic Memory Pools
ejohnstown Apr 11, 2024
426091a
Generic Memory Pools
ejohnstown Apr 12, 2024
e1c2692
Generic Memory Pools
ejohnstown Apr 12, 2024
a4f2862
Generic Memory Pools
ejohnstown Apr 26, 2024
eff2d42
Generic Memory Pools
ejohnstown Apr 30, 2024
d38ed5f
Generic Memory Pools
ejohnstown Apr 30, 2024
d2e3747
wolfcrypt/benchmark/benchmark.c: fixes for clang-analyzer-deadcode.De…
douzzer May 1, 2024
bc2e6a2
Fix windows 'gethostbyname' declaration
May 1, 2024
d91cded
wolfssl/wolfcrypt/port/xilinx/xil-sha3.h: fix struct name -- struct w…
douzzer May 1, 2024
9ed72a2
wolfssl/openssl/sha3.h: use sizeof(wc_Sha3), not sizeof(struct wc_Sha…
douzzer May 1, 2024
dad1f64
fix namespace collision: rename types read_private_key_cb and write_p…
douzzer May 1, 2024
440f354
remove assumption of struct layout
JacobBarthelmeh Apr 30, 2024
de70ec6
Support for ECC_CACHE_CURVE with no malloc. ZD 17774
dgarske Apr 30, 2024
35cf72d
Add option `NO_ECC_CACHE_CURVE` to allow disabling ECC curve cache wi…
dgarske May 1, 2024
b491a93
tests/api.c: fix double close in test_server_loop().
douzzer May 3, 2024
3da4c7e
Add support for loading user CA certs from an arbitrary Windows cert …
kareem-wolfssl Apr 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .cyignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# wolfSSL folders
$(SEARCH_wolfssl)/IDE
$(SEARCH_wolfssl)/examples
$(SEARCH_wolfssl)/linuxkm
$(SEARCH_wolfssl)/mcapi
$(SEARCH_wolfssl)/mplabx
$(SEARCH_wolfssl)/mqx
$(SEARCH_wolfssl)/tirtos
$(SEARCH_wolfssl)/tests
$(SEARCH_wolfssl)/testsuite
$(SEARCH_wolfssl)/wolfcrypt/src/port/autosar
$(SEARCH_wolfssl)/zephyr

# wolfSSL files
$(SEARCH_wolfssl)/wolfcrypt/src/aes_asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/aes_xts_asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/aes_gcm_asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/aes_gcm_x86_asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/chacha_asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/fe_x25519_asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/poly1305_asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/sha256_asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/sha512_asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/sha3_asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/sm3_asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/sp_x86_64_asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/sp_sm2_x86_64_asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/wc_kyber_asm.S

$(SEARCH_wolfssl)/wolfcrypt/src/port/arm/armv8-32-aes-asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/port/arm/armv8-32-curve25519.S
$(SEARCH_wolfssl)/wolfcrypt/src/port/arm/armv8-32-sha256-asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/port/arm/armv8-32-sha512-asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/port/arm/armv8-curve25519.S
$(SEARCH_wolfssl)/wolfcrypt/src/port/arm/armv8-sha3-asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/port/arm/armv8-sha512-asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/port/arm/thumb2-aes-asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/port/arm/thumb2-curve25519.S
$(SEARCH_wolfssl)/wolfcrypt/src/port/arm/thumb2-sha256-asm.S
$(SEARCH_wolfssl)/wolfcrypt/src/port/arm/thumb2-sha512-asm.S
4 changes: 2 additions & 2 deletions .github/workflows/hostap.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,15 +62,15 @@ jobs:
config: [
{
hostap_ref: hostap_2_10,
hostap_cherry_pick: 5679ec5c3dda25a0547a5f66407fd9b0b55fd04a,
hostap_cherry_pick: 36fcbb1a4ee4aa604f15079eae2ffa4fe7f44680,
remove_teap: true,
# TLS 1.3 does not work for this version
build_id: hostap-build1,
},
# Test the dpp patch
{
hostap_ref: b607d2723e927a3446d89aed813f1aa6068186bb,
hostap_cherry_pick: 5679ec5c3dda25a0547a5f66407fd9b0b55fd04a,
hostap_cherry_pick: 36fcbb1a4ee4aa604f15079eae2ffa4fe7f44680,
osp_ref: ad5b52a49b3cc2a5bfb47ccc1d6a5137132e9446,
build_id: hostap-build2
},
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,11 +42,14 @@ jobs:
uses: ./.github/workflows/packaging.yml
memcached:
uses: ./.github/workflows/memcached.yml
# TODO: Currently this test fails. Enable it once it becomes passing.
# libssh2:
# uses: ./.github/workflows/libssh2.yml
libssh2:
uses: ./.github/workflows/libssh2.yml
openssh:
uses: ./.github/workflows/openssh.yml
# TODO: Currently this test fails. Enable it once it becomes passing.
# haproxy:
# uses: ./.github/workflows/haproxy.yml
ocsp:
uses: ./.github/workflows/ocsp.yml
no-malloc:
uses: ./.github/workflows/no-malloc.yml
34 changes: 34 additions & 0 deletions .github/workflows/no-malloc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: No Malloc Tests

on:
workflow_call:

jobs:
make_check:
strategy:
matrix:
config: [
# Add new configs here
'--enable-rsa --enable-keygen --disable-dh CFLAGS="-DWOLFSSL_NO_MALLOC"',
]
name: make check
runs-on: ubuntu-latest
# This should be a safe limit for the tests to run.
timeout-minutes: 6
steps:
- uses: actions/checkout@v4
name: Checkout wolfSSL

- name: Test wolfSSL
run: |
./autogen.sh
./configure ${{ matrix.config }}
make
./wolfcrypt/test/testwolfcrypt

- name: Print errors
if: ${{ failure() }}
run: |
if [ -f test-suite.log ] ; then
cat test-suite.log
fi
28 changes: 28 additions & 0 deletions .github/workflows/ocsp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: OCSP Test

on:
workflow_call:

jobs:
ocsp_stapling:
name: ocsp stapling
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Checkout wolfSSL
uses: actions/checkout@v4

- name: Build wolfSSL
run: autoreconf -ivf && ./configure --enable-ocsp --enable-ocspstapling && make

- name: Start OCSP responder 1
run: openssl ocsp -port 22221 -ndays 1000 -index certs/ocsp/index-intermediate1-ca-issued-certs.txt -rsigner certs/ocsp/ocsp-responder-cert.pem -rkey certs/ocsp/ocsp-responder-key.pem -CA certs/ocsp/intermediate1-ca-cert.pem &

- name: Start OCSP responder 2
run: openssl ocsp -port 22220 -ndays 1000 -index certs/ocsp/index-ca-and-intermediate-cas.txt -rsigner certs/ocsp/ocsp-responder-cert.pem -rkey certs/ocsp/ocsp-responder-key.pem -CA certs/ocsp/root-ca-cert.pem &

- name: Start TLS server
run: ./examples/server/server -p 11111 -c ./certs/ocsp/server1-cert.pem -k ./certs/ocsp/server1-key.pem -d &

- name: Test Look Up
run: ./examples/client/client -A ./certs/ocsp/root-ca-cert.pem -o
2 changes: 1 addition & 1 deletion .github/workflows/openvpn.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
name: ${{ matrix.ref }}
runs-on: ubuntu-latest
# This should be a safe limit for the tests to run.
timeout-minutes: 6
timeout-minutes: 10
needs: build_wolfssl
steps:
- name: Download lib
Expand Down
54 changes: 53 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# CMakeList.txt
#
# Copyright (C) 2006-2023 wolfSSL Inc.
# Copyright (C) 2006-2024 wolfSSL Inc.
#
# This file is part of wolfSSL. (formerly known as CyaSSL)
#
Expand All @@ -21,6 +21,12 @@

cmake_minimum_required(VERSION 3.16)

if(${CMAKE_VERSION} VERSION_LESS "3.22")
message(STATUS "This project recommends using CMake version 3.22 or higher. You are using ${CMAKE_VERSION}.")
else()
cmake_policy(SET CMP0128 NEW)
endif()

if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
message(FATAL_ERROR "In-source builds are not allowed.\
Run cmake from a separate directory from where CMakeLists.txt lives.\
Expand Down Expand Up @@ -1216,6 +1222,14 @@ if(WOLFSSL_OPENSSH OR
override_cache(WOLFSSL_DES3 "yes")
endif()

# DES3 TLS Suites
set(WOLFSSL_DES3_TLS_SUITES_STRING "Enable DES3 TLS cipher suites (default: disabled)")
add_option("WOLFSSL_DES3_TLS_SUITES" ${WOLFSSL_DES3_TLS_SUITES_STRING} "no" "yes;no")

if(NOT WOLFSSL_DES3_TLS_SUITES)
list(APPEND WOLFSSL_DEFINITIONS "-DNO_DES3_TLS_SUITES")
endif()

# ARC4
set(WOLFSSL_ARC4_HELP_STRING "Enable ARC4 (default: disabled)")
add_option("WOLFSSL_ARC4" ${WOLFSSL_ARC4_HELP_STRING} "no" "yes;no")
Expand Down Expand Up @@ -2106,6 +2120,44 @@ else()
endif()
set(OPTION_FILE "${WOLFSSL_OUTPUT_BASE}/wolfssl/options.h")

# sccache
add_option("ENABLE_SCCACHE"
"Enable sccache (default: disabled)"
"no" "yes;no")

if (ENABLE_SCCACHE AND (NOT WOLFSSL_SCCACHE_ALREADY_SET_FLAG))
find_program(SCCACHE sccache REQUIRED)
if(SCCACHE)
message(STATUS "Enable sccache")

if(CMAKE_C_COMPILER_LAUNCHER)
set(CMAKE_C_COMPILER_LAUNCHER "${CMAKE_C_COMPILER_LAUNCHER}" "${SCCACHE}")
else()
set(CMAKE_C_COMPILER_LAUNCHER "${SCCACHE}")
endif()
if(CMAKE_CXX_COMPILER_LAUNCHER)
set(CMAKE_CXX_COMPILER_LAUNCHER "${CMAKE_CXX_COMPILER_LAUNCHER}" "${SCCACHE}")
else()
set(CMAKE_CXX_COMPILER_LAUNCHER "${SCCACHE}")
endif()

if (MSVC)
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
string(REPLACE "/Zi" "/Z7" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
elseif(CMAKE_BUILD_TYPE STREQUAL "Release")
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
string(REPLACE "/Zi" "/Z7" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
elseif(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
string(REPLACE "/Zi" "/Z7" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
string(REPLACE "/Zi" "/Z7" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
endif()
endif()
set(WOLFSSL_SCCACHE_ALREADY_SET_FLAG ON)
endif()
endif()


file(REMOVE ${OPTION_FILE})

file(APPEND ${OPTION_FILE} "/* wolfssl options.h\n")
Expand Down
2 changes: 1 addition & 1 deletion Docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ ARG DEPS_WOLFSSL="build-essential autoconf libtool clang clang-tools zlib1g-dev
ARG DEPS_LIBOQS="astyle cmake gcc ninja-build libssl-dev python3-pytest python3-pytest-xdist unzip xsltproc doxygen graphviz python3-yaml valgrind git"
ARG DEPS_UDP_PROXY="wget libevent-dev"
ARG DEPS_TESTS="abi-dumper libcurl4-openssl-dev tcpdump libpsl-dev python3-pandas python3-tabulate libnl-genl-3-dev libcap-ng-dev"
ARG DEPS_TOOLS="ccache"
ARG DEPS_TOOLS="ccache clang-tidy maven"
RUN DEBIAN_FRONTEND=noninteractive apt update && apt install -y apt-utils \
&& apt install -y ${DEPS_WOLFSSL} ${DEPS_LIBOQS} ${DEPS_UDP_PROXY} ${DEPS_TESTS} ${DEPS_TOOLS} \
&& apt clean -y && rm -rf /var/lib/apt/lists/*
Expand Down
2 changes: 1 addition & 1 deletion Docker/Dockerfile.cross-compiler
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ FROM $DOCKER_BASE_IMAGE

USER root

ARG DEPS_TESTING="gcc-arm-linux-gnueabi gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu"
ARG DEPS_TESTING="gcc-arm-linux-gnueabi gcc-arm-linux-gnueabihf gcc-aarch64-linux-gnu gcc-powerpc-linux-gnu gcc-powerpc64-linux-gnu gcc-arm-none-eabi"
RUN DEBIAN_FRONTEND=noninteractive apt update \
&& apt install -y ${DEPS_TESTING} \
&& apt clean -y && rm -rf /var/lib/apt/lists/*
Expand Down
4 changes: 3 additions & 1 deletion Docker/yocto/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ WORKDIR /opt/poky
ARG YOCTO_VERSION=kirkstone
RUN git checkout -t origin/${YOCTO_VERSION} -b ${YOCTO_VERSION} && git pull

RUN git clone --single-branch --branch=${YOCTO_VERSION} https://github.com/wolfSSL/meta-wolfssl.git && \
# This arg is to be able to force a rebuild starting from this line
ARG DUMMY=date
RUN DUMMY=${DUMMY} git clone --single-branch --branch=master https://github.com/wolfssl/meta-wolfssl.git && \
/bin/bash -c "source oe-init-build-env" && \
echo 'IMAGE_INSTALL:append = " wolfssl wolfclu wolfssh wolfmqtt wolftpm wolfclu "' >> /opt/poky/build/conf/local.conf && \
sed -i '/\/opt\/poky\/meta-poky \\/a \\t/opt/poky/meta-wolfssl \\' /opt/poky/build/conf/bblayers.conf
Expand Down
4 changes: 2 additions & 2 deletions Docker/yocto/buildAndPush.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ fi
NUM_FAILURES=0

CUR_DATE=$(date -u +%F)
for ver in kirkstone dunfell; do
for ver in kirkstone langdale scarthgap; do
echo "Building wolfssl/yocto:${ver}-${CUR_DATE} as ${DOCKER_BUILD_OPTIONS}"
docker build -t wolfssl/yocto:${ver}-${CUR_DATE} --build-arg YOCTO_VERSION=${ver} -f Dockerfile "${WOLFSSL_DIR}/Docker/yocto" && \
docker build -t wolfssl/yocto:${ver}-${CUR_DATE} --build-arg YOCTO_VERSION=${ver} --build-arg BUILD_DATE=${CUR_DATE} -f Dockerfile "${WOLFSSL_DIR}/Docker/yocto" && \
docker tag wolfssl/yocto:${ver}-${CUR_DATE} wolfssl/yocto:${ver}-latest
if [ $? -eq 0 ]; then
echo "Pushing containers to DockerHub"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,10 @@ else()
"\"${WOLFSSL_ROOT}/src/ssl_bn.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_certman.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_crypto.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_load.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_misc.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_p7p12.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_sess.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/x509.c\""
"\"${WOLFSSL_ROOT}/src/x509_str.c\""
"\"${WOLFSSL_ROOT}/wolfcrypt/src/evp.c\""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,10 @@ else()
"\"${WOLFSSL_ROOT}/src/ssl_bn.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_certman.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_crypto.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_load.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_misc.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_p7p12.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_sess.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/x509.c\""
"\"${WOLFSSL_ROOT}/src/x509_str.c\""
"\"${WOLFSSL_ROOT}/wolfcrypt/src/evp.c\""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,10 @@ else()
"\"${WOLFSSL_ROOT}/src/ssl_bn.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_certman.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_crypto.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_load.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_misc.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_p7p12.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_sess.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/x509.c\""
"\"${WOLFSSL_ROOT}/src/x509_str.c\""
"\"${WOLFSSL_ROOT}/wolfcrypt/src/evp.c\""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,10 @@ else()
"\"${WOLFSSL_ROOT}/src/ssl_bn.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_certman.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_crypto.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_load.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_misc.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_p7p12.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_sess.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/x509.c\""
"\"${WOLFSSL_ROOT}/src/x509_str.c\""
"\"${WOLFSSL_ROOT}/wolfcrypt/src/evp.c\""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,10 @@ else()
"\"${WOLFSSL_ROOT}/src/ssl_bn.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_certman.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_crypto.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_load.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_misc.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_p7p12.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/ssl_sess.c\"" # included by ssl.c
"\"${WOLFSSL_ROOT}/src/x509.c\""
"\"${WOLFSSL_ROOT}/src/x509_str.c\""
"\"${WOLFSSL_ROOT}/wolfcrypt/src/evp.c\""
Expand Down
3 changes: 3 additions & 0 deletions IDE/Espressif/ESP-IDF/libs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,10 @@ set(COMPONENT_SRCEXCLUDE
"./src/ssl_bn.c" # included by ssl.c
"./src/ssl_certman.c" # included by ssl.c
"./src/ssl_crypto.c" # included by ssl.c
"./src/ssl_load.c" # included by ssl.c
"./src/ssl_misc.c" # included by ssl.c
"./src/ssl_p7p12.c" # included by ssl.c
"./src/ssl_sess.c" # included by ssl.c
"./src/x509.c"
"./src/x509_str.c"
"./wolfcrypt/src/evp.c"
Expand Down
33 changes: 33 additions & 0 deletions IDE/Infineon/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Infineon Modus Toolbox

Steps for building wolfSSL/wolfTPM with the Infineon Modus Toolbox examples:

1) Add Dependency:

In "deps" folder add wolfssl.mtb containing:

```
https://github.com/wolfssl/wolfssl#v5.7.0-stable#$$ASSET_REPO$$/wolfssl/wolfssl-stable
```

For wolfTPM add wolftpm.mtb containing:

```
https://github.com/wolfssl/wolftpm#master#$$ASSET_REPO$$/wolftpm/wolftpm-stable
```

2) Add components:
In `Makefile` under `COMPONENTS` add `WOLFSSL` and `WOLFTPM`.

3) Add defines:

Add `DEFINES+=WOLFSSL_USER_SETTINGS WOLFTPM_USER_SETTINGS` in Makefile.

4) Build settings:

Add a `user_settings.h` file for wolfSSL/wolfTPM build settings into `config` directory.
A template is provided here in `IDE/Infineon/user_settings.h`.

5) Ignores:

The required library ignores are found in the `.cyignore` file in the wolfSSL and wolfTPM root.
7 changes: 7 additions & 0 deletions IDE/Infineon/include.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# vim:ft=automake
# included from Top Level Makefile.am
# All paths should be given relative to the root

EXTRA_DIST += \
IDE/Infineon/README.md \
IDE/Infineon/user_settings.h
Loading