Skip to content

[release/11.0] Expose Composite ML-DSA CNG identifiers - #134162

Merged
artl93 merged 1 commit into
release/11.0from
ps-rc2-pqc-1-cng-identifiers
Sep 19, 2026
Merged

artl93 merged 1 commit into
release/11.0from
ps-rc2-pqc-1-cng-identifiers

Conversation

@PranavSenthilnathan

@PranavSenthilnathan PranavSenthilnathan commented Sep 17, 2026

Copy link
Copy Markdown
Member

main PR: #132353

Description

Expose the experimental Composite ML-DSA CNG identifiers in .NET 11 RC2.
Straight backport; no additional code changes. Stack layer 1/4, targeting
release/11.0.

Customer Impact

Completes the new PQC API surface so callers can use named CNG identifiers
instead of provider-specific strings.

Regression

No. New APIs.

Testing

Windows Release build passed. Full crypto suite: 17,454 total, 1 failed,
407 skipped. The X509 key-file cleanup test failed; its targeted rerun
passed all 6 cases. The initial failure's cause is undetermined.
Cherry-pick equivalence verified.

Risk

Low. Exposes existing identifiers as new experimental APIs without
changing the cryptographic implementation.

Note

This PR description was generated with GitHub Copilot.

Fixes #130052

> [!NOTE]
> This PR description was generated with GitHub Copilot.

Copilot-Session: 5676db47-d54b-4946-97ec-7fc0a7392c30
(cherry picked from commit 663c457)
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).
13 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @bartonjs, @vcsjones, @dotnet/area-system-security
See info in area-owners.md if you want to be subscribed.

Copilot AI 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.

🔵 Needs a closer look

It adds new experimental public API surface on a release branch and should receive maintainer validation (including final build/test results and platform support considerations).

Pull request overview

This PR backports the addition of experimental Composite ML-DSA CNG identifiers to the release/11.0 branch by exposing new CompositeMLDsa properties on CngAlgorithm and CngAlgorithmGroup, and updating tests to use the product API instead of a test-only shim.

Changes:

  • Expose CngAlgorithm.CompositeMLDsa and CngAlgorithmGroup.CompositeMLDsa as experimental public API.
  • Update System.Security.Cryptography ref assembly to include the new public properties with Experimental("SYSLIB5006").
  • Remove the test-only CngAlgorithm.CompositeMLDsa shim from the Composite ML-DSA CNG test helpers.
File summaries
File Description
src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/CngAlgorithmGroup.cs Makes CompositeMLDsa a public experimental CngAlgorithmGroup identifier.
src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/CngAlgorithm.cs Makes CompositeMLDsa a public experimental CngAlgorithm identifier.
src/libraries/System.Security.Cryptography/ref/System.Security.Cryptography.cs Adds the new public API members to the ref contract with Experimental("SYSLIB5006").
src/libraries/Common/tests/System/Security/Cryptography/AlgorithmImplementations/CompositeMLDsa/CompositeMLDsaTestHelpers.Cng.cs Removes the test-only identifier shim now that the product API exists.
Review details
  • Files reviewed: 4/4 changed files
  • Comments generated: 0
  • Review effort level: Lite

@ViveliDuCh

Copy link
Copy Markdown
Member

Hii,
the code complete date for RC2 is Monday 21st September. Make sure to merge this PR on that date at the latest, or it won't make it into that release.
As a reminder, if this is a product change, you also need Tactics approval before merging this PR (test-only or infra-only changes don't require Tactics approval).

@PranavSenthilnathan PranavSenthilnathan added the Servicing-consider Issue for next servicing release review label Sep 19, 2026
@PranavSenthilnathan

Copy link
Copy Markdown
Member Author

/ba-g #133311

@artl93 artl93 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.

New PQC. Approved.

@artl93 artl93 added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Sep 19, 2026
@artl93
artl93 merged commit 11efd35 into release/11.0 Sep 19, 2026
103 of 109 checks passed
@artl93
artl93 deleted the ps-rc2-pqc-1-cng-identifiers branch September 19, 2026 04:24
artl93 pushed a commit that referenced this pull request Sep 19, 2026
main PR: #132440

# Description

Add the experimental Composite ML-KEM base APIs, algorithm identifiers,
and key import/export support. Straight backport; no additional code
changes. Stack layer 2/4, based on #134162, targeting RC2.

# Customer Impact

Provides the new hybrid PQC API surface. Requires the implementation
layers #134164 and #134165.

# Regression

No. New APIs.

# Testing

Includes the original contract and import/export tests. Cherry-pick
equivalence verified; no local builds or tests run for this layer.

# Risk

Low. Adds new experimental APIs without changing existing API behavior.
Ships together with the implementation layers.

> [!NOTE]
> This PR description was generated with GitHub Copilot.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 5676db47-d54b-4946-97ec-7fc0a7392c30
Copilot-Session: 17bb5da2-badb-480f-a196-71dc1e23dc7b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area-System.Security Servicing-approved Approved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants