Skip to content

Remove managed implementation from SP800-108 on Windows#122816

Merged
stephentoub merged 2 commits intodotnet:mainfrom
vcsjones:rm-sp800108managedonwindows
Jan 3, 2026
Merged

Remove managed implementation from SP800-108 on Windows#122816
stephentoub merged 2 commits intodotnet:mainfrom
vcsjones:rm-sp800108managedonwindows

Conversation

@vcsjones
Copy link
Member

@vcsjones vcsjones commented Jan 2, 2026

It was only used for Windows 7.

While we are doing some cleanup, let's get rid of a hand-rolled one-shot implementation we don't need anymore. This will be more efficient for NativeAOT.

Contributes to #71075.

@vcsjones vcsjones self-assigned this Jan 2, 2026
Copilot AI review requested due to automatic review settings January 2, 2026 02:16
@dotnet-policy-service
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.

Copy link
Contributor

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 removes Windows 7 support from SP800-108 HMAC Counter KDF by eliminating the fallback to the managed implementation. Windows 8 and later versions have native CNG support for this algorithm, making the managed implementation unnecessary for supported Windows versions.

  • Removed Windows version detection logic (IsWindowsVersionAtLeast(6, 2))
  • Simplified implementation to always use the CNG-based implementation on Windows
  • Removed managed implementation file references from the Windows-specific build configuration

Reviewed changes

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

File Description
SP800108HmacCounterKdf.Windows.cs Removed Windows version checks and simplified all methods to directly call the CNG implementation
System.Security.Cryptography.csproj Removed two references to SP800108HmacCounterKdfImplementationManaged.cs from the Windows-specific ItemGroup

@stephentoub stephentoub merged commit fbd2149 into dotnet:main Jan 3, 2026
85 of 87 checks passed
@vcsjones vcsjones deleted the rm-sp800108managedonwindows branch January 3, 2026 17:07
@vcsjones vcsjones added this to the 11.0.0 milestone Jan 10, 2026
@github-actions github-actions bot locked and limited conversation to collaborators Feb 10, 2026
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