Skip to content

Conversation

github-actions[bot]
Copy link
Contributor

@github-actions github-actions bot commented Sep 10, 2025

Backport of #119289 to release/10.0

/cc @bartonjs

Customer Impact

  • Customer reported
  • Found internally

There are still some areas of concern for the ML-DSA API, but the core scenarios from FIPS 204 are working on both Windows (Insider-Canary) and Linux (OpenSSL 3.5+):

  • Generate keys
  • Import/export keys in the FIPS 204 public key, private key, or private seed formats
  • Signing and verifying data

Rather than ship all of MLDsa under [Experimental], this change moves it from the type to the members that still have concern (and removes it from ancillary types), to improve user experience.

Regression

  • Yes
  • No

Testing

A sample was written exercising the core routines described above, and no SYSLIB5006 diagnostics were produced. When referencing one of the IETF format exports, however, the diagnostic returned (as expected)

Risk

Low. Metadata-only.

IMPORTANT: If this backport is for a servicing release, please verify that:

  • The PR target branch is release/X.0-staging, not release/X.0.

Package authoring no longer needed in .NET 9

IMPORTANT: Starting with .NET 9, you no longer need to edit a NuGet package's csproj to enable building and bump the version.
Keep in mind that we still need package authoring in .NET 8 and older versions.

Not experimental:
* MLDsaAlgorithm (whole type)
* MLDsa (class name)
* MLDsa.GenerateKey
* MLDsa.ImportMLDsaPublicKey
* MLDsa.ImportMLDsaPrivateKey
* MLDsa.ImportMLDsaPrivateSeed
* MLDsa.ExportMLDsaPublicKey
* MLDsa.ExportMLDsaPrivateKey
* MLDsa.ExportMLDsaPrivateSeed
* MLDsa.SignData
* MLDsa.VerifyData
* Any *Core method for the above

Experimental:
* IETF Formats
  * MLDsa.ImportFromPem
  * MLDsa.ImportFromEncryptedPem
  * MLDsa.ImportPkcs8PrivateKey
  * MLDsa.ImportEncryptedPkcs8PrivateKey
  * MLDsa.ImportSubjectPublicKeyInfo
  * MLDsa.ExportPkcs8PrivateKey
  * MLDsa.ExportPkcs8PrivateKeyPem
  * MLDsa.ExportEncryptedPkcs8PrivateKey
  * MLDsa.ExportEncryptedPkcs8PrivateKeyPem
  * MLDsa.ExportSubjectPublicKeyInfo
  * MLDsa.ExportSubjectPublicKeyInfoPem
  * And any *Core methods powering them
* Unsure we have the right shape
  * MLDsa.SignPreHash
  * MLDsa.VerifyPreHash
  * MLDsa.SignMu
  * MLDsa.VerifyMu
  * And any *Core methods powering them
@bartonjs
Copy link
Member

/ba-g All failures are unrelated, and are now reported.

@artl93 artl93 merged commit 0338543 into release/10.0 Sep 10, 2025
87 of 91 checks passed
@bartonjs bartonjs deleted the backport/pr-119289-to-release/10.0 branch September 10, 2025 18:18
@github-actions github-actions bot locked and limited conversation to collaborators Oct 11, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Servicing-approved Approved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants