Skip to content

[0.103] Support stable ML-DSA - #523

Merged
djc merged 6 commits into
rel-0.103from
0.103-stable-ml-dsa
Aug 11, 2026
Merged

[0.103] Support stable ML-DSA#523
djc merged 6 commits into
rel-0.103from
0.103-stable-ml-dsa

Conversation

@djc

@djc djc commented Aug 11, 2026

Copy link
Copy Markdown
Member

This is used in rcgen, which in turn is used in rustls-post-quantum tests.

@djc
djc requested review from cpu and ctz August 11, 2026 14:33
@codecov

codecov Bot commented Aug 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.42%. Comparing base (2879b2c) to head (3a46dbc).

Additional details and impacted files
@@              Coverage Diff              @@
##           rel-0.103     #523      +/-   ##
=============================================
- Coverage      97.42%   97.42%   -0.01%     
=============================================
  Files             19       19              
  Lines           3845     3843       -2     
=============================================
- Hits            3746     3744       -2     
  Misses            99       99              

☔ 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.

@djc
djc force-pushed the 0.103-stable-ml-dsa branch from 95de527 to 245274f Compare August 11, 2026 14:39
cpu and others added 6 commits August 11, 2026 16:45
Of the form:

```
error: this `match` expression can be replaced with `?`
   --> src/crl/types.rs:357:13
    |
357 | /             match revoked_cert_result {
358 | |                 Err(e) => return Err(e),
359 | |                 Ok(revoked_cert) => {
360 | |                     if revoked_cert.serial_number.eq(serial) {
...   |
364 | |             }
    | |_____________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#question_mark
    = note: `-D clippy::question-mark` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(clippy::question_mark)]`
```
@djc
djc force-pushed the 0.103-stable-ml-dsa branch from cc5246f to 3a46dbc Compare August 11, 2026 14:47

@cpu cpu left a comment

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.

Thanks!

@ctz

ctz commented Aug 11, 2026

Copy link
Copy Markdown
Member

Intended to support new signature algorithms in a stable release?

@djc

djc commented Aug 11, 2026

Copy link
Copy Markdown
Member Author

Intended to support new signature algorithms in a stable release?

Do you mean rustls-webpki or rustls?

I definitely wanted to support them in rustls-webpki, as explained in the PR description.

I was going for rustls main first, but going to ask if we should also do rustls 0.23, yes. Thoughts/concerns?

@ctz ctz left a comment

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.

Sorry, I misremembered how this works and we don't rely on the ALL_VERIFICATION_ALGS collection exported here outside testing.

For rustls 0.23 let's at least wait for the RFC to be published, and maybe for someone to ask for it, and maybe a publicly trusted root or a published private example root? Like AWS Private CA or whatever.

@djc
djc enabled auto-merge August 11, 2026 15:12
@djc

djc commented Aug 11, 2026

Copy link
Copy Markdown
Member Author

For rustls 0.23 let's at least wait for the RFC to be published, and maybe for someone to ask for it, and maybe a publicly trusted root or a published private example root? Like AWS Private CA or whatever.

How about rustls-aws-lc-rs 0.1 (for rustls 0.24)? Should that still get it, or should we also wait for more adoption?

@djc
djc added this pull request to the merge queue Aug 11, 2026
Merged via the queue into rel-0.103 with commit 14cbaa1 Aug 11, 2026
72 checks passed
@djc
djc deleted the 0.103-stable-ml-dsa branch August 11, 2026 15:30
Comment thread src/aws_lc_rs_algs.rs
verification_alg: &unstable::signature::ML_DSA_44,
verification_alg: &signature::ML_DSA_44,
// Not included in AWS-LC-FIPS 3.0 FIPS scope
in_fips_submission: false,

@djc djc Aug 11, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Is in_fips_submission: false still true? Could we see this ourselves in the NIST submission queue? I went looking earlier but forget how this works.

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.

I can see AWS-LC 4 in the list but not the security policy yet to see what is in scope. However I'm guessing they have not put this in aws-lc-fips-sys by mistake.

@djc djc Aug 11, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

@justsmth could you confirm?

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Not a mistake. We bump to the latest FIPS branch that has completed third-party testing and has been submitted to NIST. We had a small blurb about it in our release announcement:

... The 4.x module has completed validation testing by an accredited lab and has been submitted to NIST for certification. Refer to the CMVP Modules In Progress List for its current status, and to FIPS.md for security policies and supported operating environments.

I'm not an expert on it, but my understanding is that in some restricted environments being listed by NIST as a "Module In Process" is sufficient to satisfy compliance.

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.

4 participants