-
Couldn't load subscription status.
- Fork 5.2k
[release/7.0] Fix SslStream.IsMutuallyAuthenticated #95733
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/7.0] Fix SslStream.IsMutuallyAuthenticated #95733
Conversation
…#79128) * fix SslStream.IsMutuallyAuthenticated with cached credentials * nano * protocol * fix test * Apply suggestions from code review Co-authored-by: Radek Zikmund <[email protected]> Co-authored-by: Simon Rozsival <[email protected]> * fix CertificateValidationClientServer_EndToEnd_Ok test Co-authored-by: Radek Zikmund <[email protected]> Co-authored-by: Simon Rozsival <[email protected]>
|
Tagging subscribers to this area: @dotnet/ncl, @bartonjs, @vcsjones Issue Detailsnull
|
|
/azp run runtime-libraries-coreclr outerloop |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run runtime-extra-platforms |
|
Azure Pipelines successfully started running 1 pipeline(s). |
src/libraries/System.Net.Security/src/System/Net/CertificateValidationPal.Android.cs
Show resolved
Hide resolved
src/libraries/System.Net.Security/src/System/Net/CertificateValidationPal.Windows.cs
Show resolved
Hide resolved
src/libraries/System.Net.Security/src/System/Net/CertificateValidationPal.Windows.cs
Outdated
Show resolved
Hide resolved
…lidationPal.Windows.cs Co-authored-by: Stephen Toub <[email protected]>
src/libraries/System.Net.Security/src/System/Net/Security/SslStreamPal.Unix.cs
Show resolved
Hide resolved
|
Approved by Tactics (@SteveMCarroll) on 1/9 via email. Adding Servicing-approved label accordingly. |
|
Build failures are either known or unrelated. |
This is essentially the same as 6.0 PR #92684, but for 7.0.
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
IsMutuallyAuthenticatedonSslStreamindicates 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 theIsMutuallyAuthenticatedis 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.