Skip to content

20260904-configure-all-nonfips-crypto-etc - #11383

Open
douzzer wants to merge 1 commit into
wolfSSL:masterfrom
douzzer:20260904-configure-all-nonfips-crypto-etc
Open

20260904-configure-all-nonfips-crypto-etc#11383
douzzer wants to merge 1 commit into
wolfSSL:masterfrom
douzzer:20260904-configure-all-nonfips-crypto-etc

Conversation

@douzzer

@douzzer douzzer commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

configure.ac: add --enable-all-nonfips-crypto and --enable-all-legacy-crypto, gathering the non-FIPS and legacy algs formerly enabled piecemeal by --enable-all-crypto:

  • all-crypto now implies both bundles iff !FIPS, so FIPS all-crypto builds get no non-FIPS or legacy algs from the bundle (FIPS <v5 builds still get DES3, from the flavor setup rather than all-crypto).

  • either bundle can be explicitly enabled in FIPS builds, and explicitly disabling one alongside all-crypto allows subtractive selection, e.g. --enable-all-crypto --disable-all-legacy-crypto.

  • all-nonfips-crypto initially comprises siphash, blake2b, blake2s, poly1305, chacha, xchacha, curve25519, curve448, pkcs7, nullcipher, aessiv, aeseax, sakke, atomicuser, cryptocb, pkcallbacks, scrypt and argon2 (excluded from kernel-mode builds as before), eccsi, and, gated on !sp-math, ecccustcurves, brainpool, and srp.

  • all-legacy-crypto initially comprises camellia, ripemd, arc4, md2, md4, md5, dsa (gated on !sp-math), and des3.

  • also move EdDSA out from the !ENABLED_FIPS gate to the FIPS>=v6 gate (Ed25519/Ed448 are FIPS 186-5 algs, in the v6+ boundary),

  • recast the rsapss gate from FIPS_VERSION!=v1 to the equivalent !FIPS||FIPS>=v2,

  • keep SHA-1 in all-crypto with a note anticipating its move to legacy, and

  • annotate why anon remains enabled even in FIPS builds (OSP dependents: WPAS, NGINX, HAPROXY, RSYSLOG).

…-crypto, gathering the non-FIPS and legacy algs formerly enabled piecemeal by --enable-all-crypto:

* all-crypto now implies both bundles iff !FIPS, so FIPS all-crypto builds get no non-FIPS or legacy algs from the bundle (FIPS <v5 builds still get DES3, from the flavor setup rather than all-crypto).

* either bundle can be explicitly enabled in FIPS builds, and explicitly disabling one alongside all-crypto allows subtractive selection, e.g. --enable-all-crypto --disable-all-legacy-crypto.

* all-nonfips-crypto initially comprises siphash, blake2b, blake2s, poly1305, chacha, xchacha, curve25519, curve448, pkcs7, nullcipher, aessiv, aeseax, sakke, atomicuser, cryptocb, pkcallbacks, scrypt and argon2 (excluded from kernel-mode builds as before), eccsi, and, gated on !sp-math, ecccustcurves, brainpool, and srp.

* all-legacy-crypto initially comprises camellia, ripemd, arc4, md2, md4, md5, dsa (gated on !sp-math), and des3.

* also move EdDSA out from the !ENABLED_FIPS gate to the FIPS>=v6 gate (Ed25519/Ed448 are FIPS 186-5 algs, in the v6+ boundary),

* recast the rsapss gate from FIPS_VERSION!=v1 to the equivalent !FIPS||FIPS>=v2,

* keep SHA-1 in all-crypto with a note anticipating its move to legacy, and

* annotate why anon remains enabled even in FIPS builds (OSP dependents: WPAS, NGINX, HAPROXY, RSYSLOG).

@kaleb-himes kaleb-himes left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good changes, catches most of the problematic algorithms and we can plug the final gaps in a subsequent PR!

(retest this please)..

@kaleb-himes

Copy link
Copy Markdown
Contributor

retest this please

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants