Skip to content

Conversation

vcsjones
Copy link
Member

As we did for MLKemCng, this changes the CngKey Key property to CngKey GetKey() method that returns a duplicated handle.

@vcsjones vcsjones added this to the 10.0.0 milestone Jul 17, 2025
@vcsjones vcsjones self-assigned this Jul 17, 2025
@Copilot Copilot AI review requested due to automatic review settings July 17, 2025 00:57
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR changes the Key property in the MLDsaCng class to a GetKey() method that returns a duplicated CNG key handle, following the same pattern previously implemented for MLKemCng. The change improves resource management by ensuring callers receive their own handle copy instead of sharing the internal handle.

Key changes:

  • Property-to-method conversion for better handle management
  • Addition of internal KeyNoDuplicate property for internal use
  • Test coverage for the new GetKey() method behavior

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
MLDsaCng.cs Updates API documentation and signature from property to method
MLDsaCng.Windows.cs Implements GetKey() method with handle duplication logic and adds internal KeyNoDuplicate property
Cng.NotSupported.cs Updates not-supported implementation and improves error message consistency
System.Security.Cryptography.cs Updates public API reference from property to method
CertificatePal.Windows.PrivateKey.cs Updates callers to use internal KeyNoDuplicate property
MLDsaCngTests.Windows.cs Adds test to verify GetKey() returns distinct duplicated handles

Copy link
Contributor

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

@vcsjones vcsjones requested a review from bartonjs July 17, 2025 00:59
@vcsjones vcsjones merged commit abcf594 into dotnet:main Jul 17, 2025
87 of 89 checks passed
@vcsjones vcsjones deleted the mldsacng-getkey branch July 17, 2025 17:25
@github-actions github-actions bot locked and limited conversation to collaborators Aug 17, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants