Skip to content

TLS 1.2 Negotiation on Windows with ECDSA server certificate#6803

Merged
neilalexander merged 3 commits intonats-io:mainfrom
johnweldon:jw4/6467
Apr 30, 2025
Merged

TLS 1.2 Negotiation on Windows with ECDSA server certificate#6803
neilalexander merged 3 commits intonats-io:mainfrom
johnweldon:jw4/6467

Conversation

@johnweldon
Copy link
Member

Resolves #6467

It appears .NET clients on Windows 10 cannot use TLS 1.3, and when negotiating down to TLS 1.2 the signature format is more strict, requiring ASN.1 DER encoding, producing a larger signature than the one generated using the more permissive TLS 1.3 signature.

This change increases the signature buffer to exactly half of the hash size.

Signed-off-by: John Weldon jweldon@synadia.com

Also, add script to generate it
@johnweldon
Copy link
Member Author

Will write tests to validate this fix before marking the PR ready to merge.

@derekcollison
Copy link
Member

Coordinate with @neilalexander since we are getting close to next release and this would be good to include.

@johnweldon johnweldon marked this pull request as ready for review April 30, 2025 17:45
@johnweldon johnweldon requested a review from a team as a code owner April 30, 2025 17:45
Copy link
Member

@neilalexander neilalexander left a comment

Choose a reason for hiding this comment

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

LGTM

@neilalexander neilalexander merged commit 707f953 into nats-io:main Apr 30, 2025
22 checks passed
@johnweldon johnweldon deleted the jw4/6467 branch April 30, 2025 18:04
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.

NATS generates incorrect signature when negotiating TLS using a P384/SHA384 certificate from the windows cert store

3 participants