Add supoort for Tls 1.3 in Web cmdlets by iSazonov · Pull Request #13409 · PowerShell/PowerShell

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

Conversation

iSazonov

PR Summary

Fix #13398

Add new element in WebSslProtocol enum.

PR Context

PR Checklist

@iSazonov iSazonov added the CL-General

Indicates that a PR should be marked as a general cmdlet change in the Change Log

label

Aug 12, 2020

vexx32

rjmholt

SteveL-MSFT

@SteveL-MSFT

Would be great if we can add a test.

@iSazonov

@iSazonov

After investigations of new test failures I found that .Net delegates the TLS support to underlying OS. The TLS 1.3 support on all OS-s is limited.
I enable TLS 1.3 on Windows 10 1903 and get:

Invoke-WebRequest -SslProtocol tls13 https://tls13.akamai.io/

Invoke-WebRequest: Authentication failed because the remote party sent a TLS alert: 'HandshakeFailure'.

MacOS haven't the support at all. Linux - depends on used OpenSSL lib.

@SteveL-MSFT We need a conclusion:

  • remove all new tests and our test WebListener updates
  • put new tests in pending
  • ???

TravisEz13

@{ Test = @{SslProtocol = 'Tls11, Tls12'; ActualProtocol = 'Tls11'}; Pending = $false }
@{ Test = @{SslProtocol = 'Tls, Tls11'; ActualProtocol = 'Tls11'}; Pending = $false }
@{ Test = @{SslProtocol = 'Tls, Tls11, Tls12'; ActualProtocol = 'Tls'}; Pending = $false }
@{ Test = @{SslProtocol = 'Tls, Tls11, Tls13'; ActualProtocol = 'Tls'}; Pending = $false }
@{ Test = @{SslProtocol = 'Tls, Tls11'; ActualProtocol = 'Tls'}; Pending = $false }
# Skipping intermediary protocols is not supported on all platforms
@{ Test = @{SslProtocol = 'Tls, Tls12'; ActualProtocol = 'Tls'}; Pending = -not $IsWindows }
@{ Test = @{SslProtocol = 'Tls, Tls12'; ActualProtocol = 'Tls12'}; Pending = -not $IsWindows }
)

$testCases2 = @(

Choose a reason for hiding this comment

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

Can you add a comment that these are failing test cases

TravisEz13

@{ Test = @{SslProtocol = 'Tls11, Tls12'; ActualProtocol = 'Tls11'}; Pending = $false }
@{ Test = @{SslProtocol = 'Tls, Tls11'; ActualProtocol = 'Tls11'}; Pending = $false }
@{ Test = @{SslProtocol = 'Tls, Tls11, Tls12'; ActualProtocol = 'Tls'}; Pending = $false }
@{ Test = @{SslProtocol = 'Tls, Tls11, Tls13'; ActualProtocol = 'Tls'}; Pending = $false }
@{ Test = @{SslProtocol = 'Tls, Tls11'; ActualProtocol = 'Tls'}; Pending = $false }
# Skipping intermediary protocols is not supported on all platforms
@{ Test = @{SslProtocol = 'Tls, Tls12'; ActualProtocol = 'Tls'}; Pending = -not $IsWindows }
@{ Test = @{SslProtocol = 'Tls, Tls12'; ActualProtocol = 'Tls12'}; Pending = -not $IsWindows }
)

$testCases2 = @(

Choose a reason for hiding this comment

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

similar comment here

TravisEz13

@TravisEz13

@iSazonov

@TravisEz13 Tracking issue is created and the comment is added to the tests. (I can not use Set-ItResult without refactoring the tests.)

@iSazonov

@ghost

This pull request has been automatically marked as Review Needed because it has been there has not been any activity for 7 days.
Maintainer, please provide feedback and/or mark it as Waiting on Author

@rjmholt

@iSazonov looks like this may need another rebase. Once CI passes, I'll merge

@rjmholt rjmholt added the Waiting on Author

The PR was reviewed and requires changes or comments from the author before being accept

label

Aug 28, 2020

@ghost ghost removed the Waiting on Author

The PR was reviewed and requires changes or comments from the author before being accept

label

Aug 28, 2020

@rjmholt rjmholt added the Waiting on Author

The PR was reviewed and requires changes or comments from the author before being accept

label

Sep 1, 2020

@rjmholt

@ghost ghost removed the Waiting on Author

The PR was reviewed and requires changes or comments from the author before being accept

label

Sep 2, 2020

@ghost

🎉v7.1.0-preview.7 has been released which incorporates this pull request.:tada:

Handy links:

@ghost ghost mentioned this pull request

Sep 8, 2020

Reviewers

@rjmholt rjmholt rjmholt approved these changes

@TravisEz13 TravisEz13 TravisEz13 approved these changes

@SteveL-MSFT SteveL-MSFT SteveL-MSFT approved these changes

@vexx32 vexx32 vexx32 approved these changes

@daxian-dbw daxian-dbw Awaiting requested review from daxian-dbw

@adityapatwardhan adityapatwardhan Awaiting requested review from adityapatwardhan

@markekraus markekraus Awaiting requested review from markekraus

@anmenaga anmenaga Awaiting requested review from anmenaga

Labels

CL-General

Indicates that a PR should be marked as a general cmdlet change in the Change Log