Run tests on Windows 2022/2025 and gate X25519 support - #5
Merged
Conversation
🎉 All green!🛠️ No new code quality issues 🔗 Commit SHA: b1cb8e9 | Docs | Datadog PR Page | Give us feedback! |
thieman
marked this pull request as ready for review
June 22, 2026 20:02
jszwedko
approved these changes
Jun 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Human Summary
Adds a test matrix to start running tests under Windows Server 2025. This exposed an issue with X25519 in 2025 that seems to be a regression on the Windows side, since a previously-valid Wycheproof assertion begins to fail. I'm admittedly out of my depth here so rather than trying to fix anything, we conditionally disable support for X25519 if we detect this particular regression. Should be easy to revisit in the future if we want to re-enable X25519 on 2025.
Note that this does not affect FIPS builds as X25519 is disabled on FIPS in any case.
Summary
windows-2022andwindows-2025using a non-fail-fast matrix.Context
Windows Server 2025 CNG rejects the valid X25519 Wycheproof
u = 4public key atBCryptImportKeyPairwithSTATUS_INVALID_PARAMETER, even when represented with a valid Montgomeryvcoordinate. Windows Server 2022 accepts the same vector. Since a backend that rejects this valid X25519 input can fail TLS negotiation for valid peer key shares, the default provider now advertises X25519 only when the runtime CNG probe succeeds.Verification
cargo fmt -- --checkmake check-licensesTest (windows-2022)passedTest (windows-2025)passedLintpassedCoveragepassed