Repository navigation
gate wc_RNG_HealthTest* exports and tests on WOLFSSL_FIPS_EXPORT_LOCAL_APIS - #11960
Conversation
|
There was a problem hiding this comment.
🟡 Changes recommended
Health-test export gating remains incomplete: some shared FIPS builds still expose the functions, while Rust and C# bindings and tests fail when the exports are removed.
3 open issues
What changed in this PR
This PR restricts RNG health-test API exports in FIPS builds to support FIPS 140-3 compliance, while preserving access for non-FIPS and forced-failure testing builds.
Changes:
- Defines
WOLFSSL_PUBLIC_HTfor non-FIPS builds and builds usingHAVE_FORCE_FIPS_FAILURE. - Selects public or local visibility for health-test APIs through
HT_API. - Gates C health-test calls and test vectors on public API availability.
| File | Description |
|---|---|
wolfssl/wolfcrypt/settings.h |
Defines when health-test APIs are public. |
wolfssl/wolfcrypt/random.h |
Applies conditional visibility to health-test declarations. |
wolfcrypt/test/test.c |
Guards health-test vectors and calls with WOLFSSL_PUBLIC_HT. |
tests/api/test_random.c |
Gates API health tests on public availability. |
Review effort: Balanced
|
Tests will fail until https://github.com/wolfSSL/testing/pull/1090 is in |
|
Reworking this PR to have a more generic application ( |
50aa749 to
494eb2c
Compare
|
Ready for re-review |
494eb2c to
d0499a6
Compare
|
Jenkins: retest this please |
There was a problem hiding this comment.
🔵 Needs a closer look
Unavailable licensed FIPS sources and companion wolfSSL/fips PR #424 prevent verification of symbol exports and self-tests across production, opt-in, and forced-failure builds.
No open issues 🎉
3 resolved since last review
Review effort: Balanced
|
unrecognized macros used: |
|
tests good with multi-test with |
32f9823 to
db8faa5
Compare
db8faa5 to
c3f1e98
Compare
douzzer
left a comment
There was a problem hiding this comment.
tested with
wolfssl-multi-test.sh ...
check-source-text
all-crypto-only-intelasm-fips-dev-linuxkm-next-insmod-optest-acvp
quantum-safe-wolfssl-all-linuxkm-defaults-clang-tidy
quantum-safe-wolfssl-all-crypto-only-intelasm-sp-asm-fips-dev-linuxkm-next-clang-tidy
quantum-safe-wolfssl-all-crypto-only-intelasm-sp-asm-fips-dev-linuxkm-next-insmod
|
note: some PRB failures expected until this is merged: Merge both PRs together. |
|
Jenkins retest this please |


Description
Make wc_RNG_HealthTest* APIs WOLFSSL_LOCAL unless
WOLFSSL_FIPS_EXPORT_LOCAL_APISis defined. These will now not be exported in FIPS builds to strictly comply with FIPS 140-3 IG 9.3.A requirements and avoid testing arbitrary seeds.WOLFSSL_FIPS_EXPORT_LOCAL_APISwill continue to be enabled for non-fips builds and for FIPS testing builds with HAVE_FORCE_FIPS_FAILURETesting
How did you test?
Checklist