Commit Graph

166 Commits (master)

Author SHA1 Message Date
Sean Parkinson 092f968f50
Merge pull request #11380 from holtrop-wolfssl/f-11286
Rust wrapper: copy aead keys directly into return struct
2026-09-08 09:41:41 +10:00
philljj 0ab1d95bc9
Merge pull request #11385 from holtrop-wolfssl/f-12247
Rust wrapper: ecc: fix check() return value comment
2026-09-07 11:02:38 -05:00
philljj 2c7c291a45
Merge pull request #11384 from holtrop-wolfssl/f-10084
Rust wrapper: rsa: update pss_check_padding() docs to not require set_rng()
2026-09-05 22:35:21 -05:00
philljj 2d85272804
Merge pull request #11312 from holtrop-wolfssl/f-10086
Rust wrapper: build.rs: validate WOLFSSL_PREFIX once
2026-09-04 21:58:33 -05:00
philljj bcadaa39c7
Merge pull request #11321 from holtrop-wolfssl/f-10091
Rust wrapper: ecdsa: allow module usage for verify-only ECC builds
2026-09-04 18:20:14 -05:00
Josh Holtrop 22a7c60a9a Rust wrapper: ecc: fix check() return value comment
Fixes F-12247.
2026-09-04 16:46:51 -04:00
Josh Holtrop bbd8f50c3a Rust wrapper: rsa: update pss_check_padding() docs to not require set_rng()
Fixes F-10084.
2026-09-04 16:43:06 -04:00
Josh Holtrop 3b3baff47c Rust wrapper: copy aead keys directly into return struct
Avoid local variable to store them.

Fixes F-11286.
2026-09-04 14:39:37 -04:00
philljj 88c0902c35
Merge pull request #11307 from holtrop-wolfssl/f-8303
Rust wrapper: ed25519: guard generate with ed25519_make_key cfg
2026-09-04 09:19:13 -05:00
Josh Holtrop 968c0b426e Rust wrapper: fail crate build if WOLFSSL_PREFIX set but unusable 2026-09-03 08:49:08 -04:00
Sean Parkinson ee45da0e3c
Merge pull request #11347 from holtrop-wolfssl/f-11269
Rust wrapper: curve25519: fix possible dangling WC_RNG pointer
2026-09-03 16:14:48 +10:00
Sean Parkinson 78c984242f
Merge pull request #11337 from holtrop-wolfssl/f-10093
Rust wrapper: pbkdf2_password_hash: gate out unsupported SHA algorithms
2026-09-03 16:14:09 +10:00
Josh Holtrop 447ded4372 Rust wrapper: build.rs: check for MSVC/Cygwin library names 2026-09-02 13:41:19 -04:00
Josh Holtrop ca707535c7 Rust wrapper: check for wolfSSL library file under WOLFSSL_PREFIX 2026-09-02 10:31:35 -04:00
Josh Holtrop 3622adefc8 Rust wrapper: curve25519: fix possible dangling WC_RNG pointer
Fixes F-11269
2026-09-01 21:27:33 -04:00
Josh Holtrop 4a239be0b7 Rust wrapper: pbkdf2_password_hash: gate out unsupported SHA algorithms
Fixes F-10093
2026-09-01 11:08:40 -04:00
Josh Holtrop e74a6e79c0 Rust wrapper: rsa_pkcs1v15: allow using VerifyingKey without random cfg
Fixes F-10092
2026-08-31 14:21:32 -04:00
Josh Holtrop f31e461906 Rust wrapper: ecdsa: allow module usage for verify-only ECC builds
Fixes F-10091
2026-08-31 10:43:02 -04:00
Josh Holtrop 8d84d0eb96 Rust wrapper: rebuild if WOLFSSL_PREFIX env var changes 2026-08-31 09:44:37 -04:00
Josh Holtrop 34753a8535 Rust wrapper: look for either lib or lib64 under WOLFSSL_PREFIX 2026-08-31 09:39:50 -04:00
Josh Holtrop 055b1285b1 Rust wrapper: ed25519: guard generate with ed25519_make_key cfg
Detect based on wc_ed25519_make_key prototype presence and guard
prototype presence with HAVE_ED25519_MAKE_KEY.
2026-08-31 09:33:09 -04:00
Josh Holtrop e37f75acf1 Rust wrapper: build.rs: validate WOLFSSL_PREFIX once
Avoid the possibility of using WOLFSSL_PREFIX for just the lib or
include halves.

Fixes F-10086.
2026-08-28 15:09:51 -04:00
Josh Holtrop a0482ecfc4 Rust wrapper: gate rsa_direct with random cfg
Fixes F-8305
2026-08-28 10:43:07 -04:00
philljj a1cde8e343
Merge pull request #11187 from holtrop-wolfssl/rust-fenrir-2026-08-17
Rust wrapper Fenrir fixes 2026-08-17
2026-08-20 16:26:06 -05:00
Josh Holtrop 25224b6827
Add wc_ecc_key_new_ex (#11160)
* Add wc_ecc_key_new_ex

Rust wrapper: use wc_ecc_key_new_ex for ECC when available.

Fixes F-8300.

* Check devId after wc_ecc_key_new_ex() call in unit test
2026-08-20 13:05:51 -07:00
Josh Holtrop bb430555f7 Rust wrapper: ed448: gate RNG references with random cfg
Fixes F-8304.
2026-08-17 17:06:20 -04:00
Josh Holtrop ab97151e69 Rust wrapper: ed25519: gate RNG references with random cfg
Fixes F-8302.
2026-08-17 17:06:20 -04:00
Josh Holtrop 2a1993645b Rust wrapper: gate Lms::get_kid() with lms_make_key cfg
Fixes F-8301.
2026-08-17 16:42:05 -04:00
JacobBarthelmeh 91383897c8
Merge pull request #11167 from holtrop-wolfssl/rust-fenrir-fixes-2026-08-12
Rust Fenrir fixes 2026-08-12
2026-08-13 10:54:17 -06:00
JacobBarthelmeh 11ef0e1254
Merge pull request #11157 from holtrop-wolfssl/f-8297
Gate SHA3-224/256/384/512 prototypes separately
2026-08-13 10:10:04 -06:00
Josh Holtrop a224123dcd Rust wrapper: fix ecc_export cfg gating for ECC export functions
Fixes F-8299.
2026-08-13 10:29:20 -04:00
Josh Holtrop 4518e8b5ec Rust wrapper: detect AES-OFB decrypt support if AES-CFB is disabled
Fixes F-8295.
2026-08-13 10:29:20 -04:00
Josh Holtrop cb0343dcef Rust wrapper: guard wc_RsaSetRNG with rsa cfg
Fixes F-8293.
2026-08-13 10:29:20 -04:00
Josh Holtrop 4b1ff0e346 Gate SHA3-224/256/384/512 prototypes separately
Rust wrapper: detect SHA3-224/256/384/512 build options separately.

Fixes F-8297.
2026-08-12 10:43:36 -04:00
David Garske 91df42ec02
Merge pull request #11064 from holtrop-wolfssl/wolfssl-wolfcrypt-2.2.0
Rust wrapper: bump wolfssl-wolfcrypt crate to v2.2.0
2026-08-07 12:33:26 -07:00
Josh Holtrop 8da9dda619 Rust wrapper: bump wolfssl-wolfcrypt crate to v2.2.0 2026-08-05 16:50:44 -04:00
Mark Atwood b6a857cbaa feat(rust): add copy() to SHA256 and SHA384
Add copy(&mut self) methods backed by wc_Sha256Copy/wc_Sha384Copy
for transcript snapshotting (e.g. TLS handshake hashing).

Uses &mut self (not Clone trait) because wc_ShaCopy may mutate src
on some platforms. Initializes dst before calling Copy to avoid
passing uninitialized memory to wc_ShaFree inside the C function.

Includes unit tests verifying independent copy semantics with
externally computed SHA-256/SHA-384 test vectors.
2026-07-30 10:36:31 -07:00
Josh Holtrop c3903cddce Rust wrapper: Add ChaCha20Poly1305::finalize_verify() 2026-07-16 13:56:41 -04:00
Josh Holtrop 708357c403 Rust wrapper: check DH::shared_secret buffer size against prime size
The underlying C API treats the agreeSz parameter as output-only.
2026-07-15 23:37:49 -04:00
Josh Holtrop a29a882a3a Rust wrapper: wolfssl-wolfcrypt v2.1.0 2026-07-06 12:07:39 -04:00
Josh Holtrop 19f6f01c61 Rust wrapper: update CHANGELOG for v2.1.0 2026-07-06 12:05:45 -04:00
Josh Holtrop 0a85d07ab3 Rust wrapper: update crate dependencies 2026-07-06 12:03:14 -04:00
Daniel Pouzzner 64a0f384a4
Merge pull request #10780 from holtrop-wolfssl/rust-rename-dilithium-mldsa
Rust wrapper: rename dilithium to mldsa
2026-07-01 16:30:28 -05:00
Daniel Pouzzner 36437417b6
Merge pull request #10703 from holtrop-wolfssl/rust-validate-prefix-env-var
Rust wrapper: validate WOLFSSL_PREFIX in build.rs
2026-07-01 16:29:36 -05:00
Daniel Pouzzner a66b87b926
Merge pull request #10645 from holtrop-wolfssl/rust-ed-verify-result-codes
Rust wrapper: fix signature incorrect return value from Ed448 and Ed25519 verify functions.
2026-07-01 16:28:44 -05:00
Josh Holtrop b6d962350d Rust wrapper: rename dilithium to mldsa 2026-06-25 10:31:44 -04:00
Josh Holtrop d523e463a5 Rust wrapper: validate WOLFSSL_PREFIX in build.rs 2026-06-16 15:22:04 -04:00
Daniel Pouzzner 0097739dd8 fixes for F-3325:
wolfcrypt/src/aes.c: enforce AES-XTS K1!=K2 constraint in wc_AesXtsSetKeyNoInit() unless WC_AES_XTS_ALLOW_DUPLICATE_KEYS and !HAVE_FIPS:

tests/api/test_aes.c: add negative tests to test_wc_AesXtsSetKey() for K1==K2;

wolfcrypt/test/test.c: fix keys in aes_xts_128_inplace_test() and aes_xts_192_inplace_test() so that K1!=K2, update test vectors, and remove associated !HAVE_FIPS gating;

linuxkm/lkcapi_aes_glue.c: synchronize aes_xts_128_test() test of ciphertext stealing in-place with wolfcrypt/test/test.c.

wrapper/rust/wolfssl-wolfcrypt/src/aes.rs: synchronize XTS streaming test with wolfcrypt/test/test.c.

linuxkm/: refactor self-test sensing with version-gated setup in linuxkm_wc_port.h and refactored gates in lkcapi_glue.c.
2026-06-11 15:38:28 -05:00
Josh Holtrop f8c86ce227 Rust wrapper: fix Ed25519/Ed448 signature verify failed return values 2026-06-09 11:31:25 -04:00
Josh Holtrop 243926f5da Update wolfssl-wolfcrypt Rust crate to v2.0.0 2026-06-08 10:14:24 -04:00