Skip to content

Conversation

Julia-Garland
Copy link
Contributor

@Julia-Garland Julia-Garland commented Sep 17, 2025

Summary

Enable TLS 1.3 in the C driver when using Windows Secure Channel as the TLS implementation (default on Windows).

Changes

  • Switch from SCHANNEL_CRED to SCH_CREDENTIALS (supported on Windows 10 1809 / Windows Server 1809 and newer).
  • Enable TLS 1.3 for Windows 11 / Windows Server 2022 and newer (when using SCH_CREDENTIALS)

Used libcurl as a reference.

(In a second PR)
Secure Channel with TLS 1.3 may use the renegotiate status for internal use; instructions on how to handle this are given in Windows documentation.

@Julia-Garland Julia-Garland self-assigned this Sep 17, 2025
@Julia-Garland Julia-Garland marked this pull request as ready for review September 26, 2025 14:42
@Julia-Garland Julia-Garland requested a review from a team as a code owner September 26, 2025 14:42
Copy link
Collaborator

@kevinAlbs kevinAlbs left a comment

Choose a reason for hiding this comment

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

LGTM with minor comments. Suggested adding a test in Evergreen to add some CI coverage for TLS v1.3 to Atlas, but that may be better done later since it needs renegotiation implemented to pass.


DWORD enabled_protocols = SP_PROT_TLS1_1_CLIENT | SP_PROT_TLS1_2_CLIENT;

/* TLS 1.3 is supported on Windows Server 2022 and newer.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Evergreen tasks do not appear to test TLS 1.3 against cloud-dev (even when enabled). I expect that is why when TLS 1.3 was enabled without renegotiation, Evergreen still passed.

The authentication-tests-winssl task that tests connecting to cloud-dev here

Suggest (either here or in later PR) adding an Evergreen task to test cloud-dev with TLS 1.3. I expect that would mean:

  • Copy the VS 2017 variant to test VS 2022. Limit it to testing ".authentication-tests .winssl".
  • Regenerate the Evergreen config (see docs)

@Julia-Garland Julia-Garland merged commit 5cb30b9 into mongodb:master Oct 6, 2025
44 of 46 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants