You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Address code review follow-ups for Falcon refactor
Fix pre-existing wc_Falcon_KeyToDer pubKeyLen typo: it was passing
FALCON_LEVELx_KEY_SIZE (secret-key size) as the pubKeyLen argument to
SetAsymKeyDer, producing DER with padding/junk bytes instead of the
real public key. Now passes FALCON_LEVELx_PUB_KEY_SIZE.
Restore the "Note for some CPUs smaller than 32 bit..." header comment
to the oid_sum.h generator so it survives regeneration. Was silently
dropped by the previous regen.
Make Falcon private-key decode accept both wire formats:
* wc_Falcon_PrivateKeyDecode no longer routes the full DER back
through parse_private_key's legacy OCTET(OCTET(priv||pub)) parser.
After DecodeAsymKey extracts privKey and pubKey separately, either
use them directly (RFC 5958, as oqs-provider emits) or split the
concatenated priv||pub if the legacy double-OCTET wrapping is
present.
* ProcessBufferTryDecodeFalcon now auto-detects the level via the
OID (by trying each level through wc_Falcon_PrivateKeyDecode),
and falls back to wc_falcon_import_private_only only when the DER
length actually matches a Falcon raw-blob size. The previous
length-based level guess erroneously matched Falcon-1024 against
an ML-DSA-65 seed-priv PKCS8, masking the correct Dilithium
dispatch.
Minor: sweep "see mlkem.h" comments in Espressif user_settings.h
templates to "see wc_mlkem.h" to match the renamed header, and point
the INSTALL SPHINCS+ note at wolfSSL#10261 where the native SLH-DSA
replacement is landing.
Verified end-to-end against oqs-provider 0.10.0 on OpenSSL 3.0.13:
* Four-way X.509 cert matrix (oqs<->wolfSSL, level 1 + 5) passes.
* wolfSSL_CTX_use_PrivateKey_file loads both oqs-provider RFC 5958
PEM keys and wolfSSL legacy-format DER bench keys.
* make check passes with --enable-falcon --with-liboqs.
0 commit comments