Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/6.0] fix IsMutuallyAuthenticated on SslStream #92684

Merged
merged 9 commits into from
Jan 10, 2024

Conversation

wfurt
Copy link
Member

@wfurt wfurt commented Sep 27, 2023

This is backport of PR #88488 and PR #79128 and parts of PR #63945.
It also brings spirit of test-only PR #68009 to get test coverage for TLS 1.3.

This only covers Windows to minimize the code delta i.e. it does not bring all the changes from PR #63945 to cover Linux & macOS.

Customer Impact

The property IsMutuallyAuthenticated on SslStream indicates if mutual TLS authentication is performed with client certificate. Current 6.0 implementation can get confused in several cases, so the value is unreliable for security audits.

Testing

This brings all the current tests from 8.0 branch.
Customer validated on private bits in production - neither functional, nor perf regression.

Risk

Medium.
While the change is quite large, it should be specific just to that property i.e. it should not impact TLS handshake or any other I/O on SslStream. Since the IsMutuallyAuthenticated is already unreliable this should bring it up to 8.0 code base to fix all known cases when it is incorrect. To reduce complexity, this fixes only Windows as macOS & Linux changes from PR #68009 had more significant impact on functionality and flow.

@ghost
Copy link

ghost commented Sep 27, 2023

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

Issue Details

PoC

Author: wfurt
Assignees: wfurt
Labels:

area-System.Net.Security

Milestone: -

@wfurt wfurt changed the title fix IsMutuallyAuthenticated [release/6.0] fix IsMutuallyAuthenticated on SslStream Oct 18, 2023
@wfurt wfurt requested review from rzikm and karelz October 18, 2023 00:55
@wfurt wfurt marked this pull request as ready for review October 18, 2023 00:55
Copy link
Member

@rzikm rzikm left a comment

Choose a reason for hiding this comment

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

LGTM if CI is green

@karelz karelz added this to the 6.0.x milestone Oct 18, 2023
@carlossanlop
Copy link
Member

LGTM if CI is green

@wfurt please send an email to Tactics requesting approval and add the servicing-consider label. I couldn't find an email yet. We still have time to include this in the November release.

@karelz
Copy link
Member

karelz commented Oct 19, 2023

@carlossanlop we will bring it in for December. We need to prepare also 7.0 backport - fixing only 6.0 would be weird. And as you see from the delta, it is rather involved change, so I don't want to rush it.

@rzikm
Copy link
Member

rzikm commented Nov 2, 2023

/azp run runtime

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@carlossanlop
Copy link
Member

Friendly reminder: If you'd like this to be included in the December release, please merge it before Tuesday November 14th EOD (Code Complete).

@karelz
Copy link
Member

karelz commented Nov 14, 2023

Thanks @carlossanlop we want to get validation on privates before we send it to Tactics. We will miss also December release.

@carlossanlop carlossanlop added the NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) label Nov 15, 2023
@wfurt wfurt removed their assignment Nov 15, 2023
@karelz karelz added Servicing-consider Issue for next servicing release review and removed NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) labels Jan 9, 2024
@karelz
Copy link
Member

karelz commented Jan 10, 2024

Approved by Tactics (@SteveMCarroll) on 1/9 via email. Adding Servicing-approved label accordingly.

@karelz karelz added Servicing-approved Approved for servicing release and removed Servicing-consider Issue for next servicing release review labels Jan 10, 2024
@rzikm rzikm merged commit f27366f into dotnet:release/6.0-staging Jan 10, 2024
126 of 127 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Feb 10, 2024
@karelz karelz modified the milestones: 6.0.x, 6.0.27 Jun 25, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants