Skip to content

Added ML-DSA-87 verification - #827

Open
nfrayer wants to merge 2 commits into
rhboot:mainfrom
nfrayer:mldsa
Open

Added ML-DSA-87 verification#827
nfrayer wants to merge 2 commits into
rhboot:mainfrom
nfrayer:mldsa

Conversation

@nfrayer

@nfrayer nfrayer commented Aug 24, 2026

Copy link
Copy Markdown
Contributor
  • Enabled SHA3 in the configuration header for SHAKE-128/SHAKE-256
  • Modified Pkcs7Verify() to add a code path for ML-DSA-87

ML-DSA-87 internally requires SHAKE-128 and SHAKE-256 for
its cryptographic operations.  Removing OPENSSL_NO_SHA3
from the configuration header to enable it.

Signed-off-By: Nicolas Frayer <nfrayer@redhat.com>
ML-DSA-87 doesn't follow OpenSSL's internal PKCS7_signatureVerify three-step
digest pipeline as RSA does. So adding a specific verification path for it.

Signed-off-by: Nicolas Frayer <nfrayer@redhat.com>
@codecov

codecov Bot commented Aug 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 58.77%. Comparing base (72fd4b7) to head (71f8064).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #827      +/-   ##
==========================================
- Coverage   59.48%   58.77%   -0.71%     
==========================================
  Files          24       24              
  Lines        4226     4226              
  Branches      655      654       -1     
==========================================
- Hits         2514     2484      -30     
  Misses       1471     1471              
- Partials      241      271      +30     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Pkey = X509_get0_pubkey (sk_X509_value (Signers, 0));
}

if (Pkey != NULL && EVP_PKEY_is_a (Pkey, "ML-DSA-87")) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Is there a reason we're specifically checking for 87 here? It seems like all ML-DSA should go through this path, and any size should work so long as they're the same in VerifyMlDsaPkcs7Signature()

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.

2 participants