From 6a5753c061025046db20d9580590eb73b7f78eac Mon Sep 17 00:00:00 2001 From: Geoff Kizer Date: Wed, 10 Jul 2019 17:37:00 -0700 Subject: [PATCH] disable cert validation for HTTP2 endpoint on Linux Commit migrated from https://github.com/dotnet/corefx/commit/d34a2579ad53d72fd2482b4faada174416497041 --- .../FunctionalTests/HttpClientHandlerTest.ServerCertificates.cs | 6 ++++++ .../tests/FunctionalTests/HttpClientHandlerTestBase.cs | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.ServerCertificates.cs b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.ServerCertificates.cs index cc1b33b..4caf5b1 100644 --- a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.ServerCertificates.cs +++ b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTest.ServerCertificates.cs @@ -223,6 +223,12 @@ namespace System.Net.Http.Functional.Tests return; } + if (!PlatformDetection.IsWindows && remoteServer.HttpVersion == new Version(2, 0)) + { + // ActiveIssue #39372: Certificate validation is asserting against the remote HTTP2 server on Linux + return; + } + HttpClientHandler handler = CreateHttpClientHandler(); using (HttpClient client = CreateHttpClientForRemoteServer(remoteServer, handler)) { diff --git a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTestBase.cs b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTestBase.cs index df2cfcd..75bb5fd 100644 --- a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTestBase.cs +++ b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpClientHandlerTestBase.cs @@ -9,6 +9,7 @@ using System.Net.Test.Common; using System.Reflection; using System.Threading; using System.Threading.Tasks; +using Microsoft.DotNet.PlatformAbstractions; using Xunit.Abstractions; namespace System.Net.Http.Functional.Tests @@ -121,6 +122,12 @@ namespace System.Net.Http.Functional.Tests protected HttpClient CreateHttpClientForRemoteServer(Configuration.Http.RemoteServer remoteServer, HttpClientHandler httpClientHandler) { + if (!PlatformDetection.IsWindows && remoteServer.HttpVersion == new Version(2, 0)) + { + // ActiveIssue #39372: Certificate validation is asserting against the remote HTTP2 server on Linux + httpClientHandler.ServerCertificateCustomValidationCallback = TestHelper.AllowAllCertificates; + } + HttpMessageHandler wrappedHandler = httpClientHandler; // ActiveIssue #39293: WinHttpHandler will downgrade to 1.1 if you set Transfer-Encoding: chunked. -- 2.7.4