From d505d20ba7e3440ac26ba93f06d53b56bb3579e5 Mon Sep 17 00:00:00 2001 From: "Chris Ross (ASP.NET)" Date: Mon, 18 Dec 2017 12:47:43 -0800 Subject: [PATCH 1/2] Merge Kestrel.Https into Kestrel.Core. Fix sample. --- samples/SampleApp/SampleApp.csproj | 2 +- samples/SampleApp/testCert.pfx | Bin 0 -> 2483 bytes .../ClientCertificateMode.cs | 0 src/Kestrel.Core/CoreStrings.resx | 15 ++ .../HttpsConnectionAdapterOptions.cs | 2 +- .../Internal/ClosedStream.cs | 0 .../Internal/HttpsConnectionAdapter.cs | 8 +- .../Internal/TlsConnectionFeature.cs | 0 .../ListenOptionsHttpsExtensions.cs | 0 .../Properties/CoreStrings.Designer.cs | 70 +++++++++ src/Kestrel.Https/HttpsStrings.resx | 135 ------------------ src/Kestrel.Https/Kestrel.Https.csproj | 6 - src/Kestrel.Https/Properties/AssemblyInfo.cs | 10 +- .../Properties/HttpsStrings.Designer.cs | 100 ------------- .../Properties/KestrelStrings.Designer.cs | 4 +- .../HttpsConnectionAdapterOptionsTest.cs | 3 +- .../HttpsConnectionAdapterTests.cs | 2 +- 17 files changed, 103 insertions(+), 254 deletions(-) create mode 100644 samples/SampleApp/testCert.pfx rename src/{Kestrel.Https => Kestrel.Core}/ClientCertificateMode.cs (100%) rename src/{Kestrel.Https => Kestrel.Core}/HttpsConnectionAdapterOptions.cs (98%) rename src/{Kestrel.Https => Kestrel.Core}/Internal/ClosedStream.cs (100%) rename src/{Kestrel.Https => Kestrel.Core}/Internal/HttpsConnectionAdapter.cs (96%) rename src/{Kestrel.Https => Kestrel.Core}/Internal/TlsConnectionFeature.cs (100%) rename src/{Kestrel.Https => Kestrel.Core}/ListenOptionsHttpsExtensions.cs (100%) delete mode 100644 src/Kestrel.Https/HttpsStrings.resx delete mode 100644 src/Kestrel.Https/Properties/HttpsStrings.Designer.cs diff --git a/samples/SampleApp/SampleApp.csproj b/samples/SampleApp/SampleApp.csproj index 222560812..a7ba9be9d 100644 --- a/samples/SampleApp/SampleApp.csproj +++ b/samples/SampleApp/SampleApp.csproj @@ -1,7 +1,7 @@  - netcoreapp2.0;net461 + netcoreapp2.1;netcoreapp2.0;net461 false true diff --git a/samples/SampleApp/testCert.pfx b/samples/SampleApp/testCert.pfx new file mode 100644 index 0000000000000000000000000000000000000000..7118908c2d730670c16e9f8b2c532a262c951989 GIT binary patch literal 2483 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 literal 0 HcmV?d00001 diff --git a/src/Kestrel.Https/ClientCertificateMode.cs b/src/Kestrel.Core/ClientCertificateMode.cs similarity index 100% rename from src/Kestrel.Https/ClientCertificateMode.cs rename to src/Kestrel.Core/ClientCertificateMode.cs diff --git a/src/Kestrel.Core/CoreStrings.resx b/src/Kestrel.Core/CoreStrings.resx index 158bc6cc5..49ee7e20b 100644 --- a/src/Kestrel.Core/CoreStrings.resx +++ b/src/Kestrel.Core/CoreStrings.resx @@ -465,4 +465,19 @@ Unable to configure default https bindings because no IDefaultHttpsProvider service was provided. + + Failed to authenticate HTTPS connection. + + + Authentication of the HTTPS connection timed out. + + + Certificate {thumbprint} cannot be used as an SSL server certificate. It has an Extended Key Usage extension but the usages do not include Server Authentication (OID 1.3.6.1.5.5.7.3.1). + + + Value must be a positive TimeSpan. + + + The server certificate parameter is required. + \ No newline at end of file diff --git a/src/Kestrel.Https/HttpsConnectionAdapterOptions.cs b/src/Kestrel.Core/HttpsConnectionAdapterOptions.cs similarity index 98% rename from src/Kestrel.Https/HttpsConnectionAdapterOptions.cs rename to src/Kestrel.Core/HttpsConnectionAdapterOptions.cs index 14238658d..6ada70170 100644 --- a/src/Kestrel.Https/HttpsConnectionAdapterOptions.cs +++ b/src/Kestrel.Core/HttpsConnectionAdapterOptions.cs @@ -73,7 +73,7 @@ public TimeSpan HandshakeTimeout { if (value <= TimeSpan.Zero && value != Timeout.InfiniteTimeSpan) { - throw new ArgumentOutOfRangeException(nameof(value), HttpsStrings.PositiveTimeSpanRequired); + throw new ArgumentOutOfRangeException(nameof(value), CoreStrings.PositiveTimeSpanRequired); } _handshakeTimeout = value != Timeout.InfiniteTimeSpan ? value : TimeSpan.MaxValue; } diff --git a/src/Kestrel.Https/Internal/ClosedStream.cs b/src/Kestrel.Core/Internal/ClosedStream.cs similarity index 100% rename from src/Kestrel.Https/Internal/ClosedStream.cs rename to src/Kestrel.Core/Internal/ClosedStream.cs diff --git a/src/Kestrel.Https/Internal/HttpsConnectionAdapter.cs b/src/Kestrel.Core/Internal/HttpsConnectionAdapter.cs similarity index 96% rename from src/Kestrel.Https/Internal/HttpsConnectionAdapter.cs rename to src/Kestrel.Core/Internal/HttpsConnectionAdapter.cs index 853f81966..68043a076 100644 --- a/src/Kestrel.Https/Internal/HttpsConnectionAdapter.cs +++ b/src/Kestrel.Core/Internal/HttpsConnectionAdapter.cs @@ -43,7 +43,7 @@ public HttpsConnectionAdapter(HttpsConnectionAdapterOptions options, ILoggerFact if (options.ServerCertificate == null) { - throw new ArgumentException(HttpsStrings.ServiceCertificateRequired, nameof(options)); + throw new ArgumentException(CoreStrings.ServiceCertificateRequired, nameof(options)); } // capture the certificate now so it can be switched after validation @@ -148,13 +148,13 @@ await sslStream.AuthenticateAsServerAsync(_serverCertificate, certificateRequire } catch (OperationCanceledException) { - _logger?.LogInformation(2, HttpsStrings.AuthenticationTimedOut); + _logger?.LogInformation(2, CoreStrings.AuthenticationTimedOut); sslStream.Dispose(); return _closedAdaptedConnection; } catch (IOException ex) { - _logger?.LogInformation(1, ex, HttpsStrings.AuthenticationFailed); + _logger?.LogInformation(1, ex, CoreStrings.AuthenticationFailed); sslStream.Dispose(); return _closedAdaptedConnection; } @@ -218,7 +218,7 @@ private static void EnsureCertificateIsAllowedForServerAuth(X509Certificate2 cer if (hasEkuExtension) { - throw new InvalidOperationException(HttpsStrings.FormatInvalidServerCertificateEku(certificate.Thumbprint)); + throw new InvalidOperationException(CoreStrings.FormatInvalidServerCertificateEku(certificate.Thumbprint)); } } diff --git a/src/Kestrel.Https/Internal/TlsConnectionFeature.cs b/src/Kestrel.Core/Internal/TlsConnectionFeature.cs similarity index 100% rename from src/Kestrel.Https/Internal/TlsConnectionFeature.cs rename to src/Kestrel.Core/Internal/TlsConnectionFeature.cs diff --git a/src/Kestrel.Https/ListenOptionsHttpsExtensions.cs b/src/Kestrel.Core/ListenOptionsHttpsExtensions.cs similarity index 100% rename from src/Kestrel.Https/ListenOptionsHttpsExtensions.cs rename to src/Kestrel.Core/ListenOptionsHttpsExtensions.cs diff --git a/src/Kestrel.Core/Properties/CoreStrings.Designer.cs b/src/Kestrel.Core/Properties/CoreStrings.Designer.cs index 9321f1a2c..4e1d8cf2c 100644 --- a/src/Kestrel.Core/Properties/CoreStrings.Designer.cs +++ b/src/Kestrel.Core/Properties/CoreStrings.Designer.cs @@ -1634,6 +1634,76 @@ internal static string UnableToConfigureHttpsBindings internal static string FormatUnableToConfigureHttpsBindings() => GetString("UnableToConfigureHttpsBindings"); + /// + /// Failed to authenticate HTTPS connection. + /// + internal static string AuthenticationFailed + { + get => GetString("AuthenticationFailed"); + } + + /// + /// Failed to authenticate HTTPS connection. + /// + internal static string FormatAuthenticationFailed() + => GetString("AuthenticationFailed"); + + /// + /// Authentication of the HTTPS connection timed out. + /// + internal static string AuthenticationTimedOut + { + get => GetString("AuthenticationTimedOut"); + } + + /// + /// Authentication of the HTTPS connection timed out. + /// + internal static string FormatAuthenticationTimedOut() + => GetString("AuthenticationTimedOut"); + + /// + /// Certificate {thumbprint} cannot be used as an SSL server certificate. It has an Extended Key Usage extension but the usages do not include Server Authentication (OID 1.3.6.1.5.5.7.3.1). + /// + internal static string InvalidServerCertificateEku + { + get => GetString("InvalidServerCertificateEku"); + } + + /// + /// Certificate {thumbprint} cannot be used as an SSL server certificate. It has an Extended Key Usage extension but the usages do not include Server Authentication (OID 1.3.6.1.5.5.7.3.1). + /// + internal static string FormatInvalidServerCertificateEku(object thumbprint) + => string.Format(CultureInfo.CurrentCulture, GetString("InvalidServerCertificateEku", "thumbprint"), thumbprint); + + /// + /// Value must be a positive TimeSpan. + /// + internal static string PositiveTimeSpanRequired1 + { + get => GetString("PositiveTimeSpanRequired1"); + } + + /// + /// Value must be a positive TimeSpan. + /// + internal static string FormatPositiveTimeSpanRequired1() + => GetString("PositiveTimeSpanRequired1"); + + /// + /// The server certificate parameter is required. + /// + internal static string ServiceCertificateRequired + { + get => GetString("ServiceCertificateRequired"); + } + + /// + /// The server certificate parameter is required. + /// + internal static string FormatServiceCertificateRequired() + => GetString("ServiceCertificateRequired"); + private static string GetString(string name, params string[] formatterNames) { var value = _resourceManager.GetString(name); diff --git a/src/Kestrel.Https/HttpsStrings.resx b/src/Kestrel.Https/HttpsStrings.resx deleted file mode 100644 index 689b5c477..000000000 --- a/src/Kestrel.Https/HttpsStrings.resx +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Failed to authenticate HTTPS connection. - - - Authentication of the HTTPS connection timed out. - - - Certificate {thumbprint} cannot be used as an SSL server certificate. It has an Extended Key Usage extension but the usages do not include Server Authentication (OID 1.3.6.1.5.5.7.3.1). - - - Value must be a positive TimeSpan. - - - The server certificate parameter is required. - - \ No newline at end of file diff --git a/src/Kestrel.Https/Kestrel.Https.csproj b/src/Kestrel.Https/Kestrel.Https.csproj index d9620b513..8b3226529 100644 --- a/src/Kestrel.Https/Kestrel.Https.csproj +++ b/src/Kestrel.Https/Kestrel.Https.csproj @@ -18,10 +18,4 @@ - - - - - - diff --git a/src/Kestrel.Https/Properties/AssemblyInfo.cs b/src/Kestrel.Https/Properties/AssemblyInfo.cs index 65c2045e2..c99dd8d3e 100644 --- a/src/Kestrel.Https/Properties/AssemblyInfo.cs +++ b/src/Kestrel.Https/Properties/AssemblyInfo.cs @@ -2,7 +2,11 @@ // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.Runtime.CompilerServices; +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Server.Kestrel.Https; +using Microsoft.AspNetCore.Server.Kestrel.Https.Internal; -[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.FunctionalTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] -[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.FunctionalTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")] - +[assembly: TypeForwardedTo(typeof(ClientCertificateMode))] +[assembly: TypeForwardedTo(typeof(HttpsConnectionAdapter))] +[assembly: TypeForwardedTo(typeof(HttpsConnectionAdapterOptions))] +[assembly: TypeForwardedTo(typeof(ListenOptionsHttpsExtensions))] \ No newline at end of file diff --git a/src/Kestrel.Https/Properties/HttpsStrings.Designer.cs b/src/Kestrel.Https/Properties/HttpsStrings.Designer.cs deleted file mode 100644 index 417309ee9..000000000 --- a/src/Kestrel.Https/Properties/HttpsStrings.Designer.cs +++ /dev/null @@ -1,100 +0,0 @@ -// -namespace Microsoft.AspNetCore.Server.Kestrel.Https -{ - using System.Globalization; - using System.Reflection; - using System.Resources; - - internal static class HttpsStrings - { - private static readonly ResourceManager _resourceManager - = new ResourceManager("Microsoft.AspNetCore.Server.Kestrel.Https.HttpsStrings", typeof(HttpsStrings).GetTypeInfo().Assembly); - - /// - /// Failed to authenticate HTTPS connection. - /// - internal static string AuthenticationFailed - { - get => GetString("AuthenticationFailed"); - } - - /// - /// Failed to authenticate HTTPS connection. - /// - internal static string FormatAuthenticationFailed() - => GetString("AuthenticationFailed"); - - /// - /// Authentication of the HTTPS connection timed out. - /// - internal static string AuthenticationTimedOut - { - get => GetString("AuthenticationTimedOut"); - } - - /// - /// Authentication of the HTTPS connection timed out. - /// - internal static string FormatAuthenticationTimedOut() - => GetString("AuthenticationTimedOut"); - - /// - /// Certificate {thumbprint} cannot be used as an SSL server certificate. It has an Extended Key Usage extension but the usages do not include Server Authentication (OID 1.3.6.1.5.5.7.3.1). - /// - internal static string InvalidServerCertificateEku - { - get => GetString("InvalidServerCertificateEku"); - } - - /// - /// Certificate {thumbprint} cannot be used as an SSL server certificate. It has an Extended Key Usage extension but the usages do not include Server Authentication (OID 1.3.6.1.5.5.7.3.1). - /// - internal static string FormatInvalidServerCertificateEku(object thumbprint) - => string.Format(CultureInfo.CurrentCulture, GetString("InvalidServerCertificateEku", "thumbprint"), thumbprint); - - /// - /// Value must be a positive TimeSpan. - /// - internal static string PositiveTimeSpanRequired - { - get => GetString("PositiveTimeSpanRequired"); - } - - /// - /// Value must be a positive TimeSpan. - /// - internal static string FormatPositiveTimeSpanRequired() - => GetString("PositiveTimeSpanRequired"); - - /// - /// The server certificate parameter is required. - /// - internal static string ServiceCertificateRequired - { - get => GetString("ServiceCertificateRequired"); - } - - /// - /// The server certificate parameter is required. - /// - internal static string FormatServiceCertificateRequired() - => GetString("ServiceCertificateRequired"); - - private static string GetString(string name, params string[] formatterNames) - { - var value = _resourceManager.GetString(name); - - System.Diagnostics.Debug.Assert(value != null); - - if (formatterNames != null) - { - for (var i = 0; i < formatterNames.Length; i++) - { - value = value.Replace("{" + formatterNames[i] + "}", "{" + i + "}"); - } - } - - return value; - } - } -} diff --git a/src/Kestrel/Properties/KestrelStrings.Designer.cs b/src/Kestrel/Properties/KestrelStrings.Designer.cs index ede41f12c..0246bf453 100644 --- a/src/Kestrel/Properties/KestrelStrings.Designer.cs +++ b/src/Kestrel/Properties/KestrelStrings.Designer.cs @@ -11,7 +11,7 @@ private static readonly ResourceManager _resourceManager = new ResourceManager("Microsoft.AspNetCore.Server.Kestrel.KestrelStrings", typeof(KestrelStrings).GetTypeInfo().Assembly); /// - /// An 'https' URL was provided, but a development certificate could not be found. + /// Unable to configure HTTPS endpoint. Try running 'dotnet developercertificates https -t' to setup a developer certificate for use with localhost. For information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054 /// internal static string HttpsUrlProvidedButNoDevelopmentCertificateFound { @@ -19,7 +19,7 @@ internal static string HttpsUrlProvidedButNoDevelopmentCertificateFound } /// - /// An 'https' URL was provided, but a development certificate could not be found. + /// Unable to configure HTTPS endpoint. Try running 'dotnet developercertificates https -t' to setup a developer certificate for use with localhost. For information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054 /// internal static string FormatHttpsUrlProvidedButNoDevelopmentCertificateFound() => GetString("HttpsUrlProvidedButNoDevelopmentCertificateFound"); diff --git a/test/Kestrel.FunctionalTests/HttpsConnectionAdapterOptionsTest.cs b/test/Kestrel.FunctionalTests/HttpsConnectionAdapterOptionsTest.cs index b62641609..7d32d4be9 100644 --- a/test/Kestrel.FunctionalTests/HttpsConnectionAdapterOptionsTest.cs +++ b/test/Kestrel.FunctionalTests/HttpsConnectionAdapterOptionsTest.cs @@ -3,6 +3,7 @@ using System; using System.Threading; +using Microsoft.AspNetCore.Server.Kestrel.Core; using Microsoft.AspNetCore.Server.Kestrel.Https; using Xunit; @@ -36,7 +37,7 @@ public void HandshakeTimeoutInvalid(TimeSpan value) var exception = Assert.Throws(() => new HttpsConnectionAdapterOptions { HandshakeTimeout = value }); Assert.Equal("value", exception.ParamName); - Assert.StartsWith(HttpsStrings.PositiveTimeSpanRequired, exception.Message); + Assert.StartsWith(CoreStrings.PositiveTimeSpanRequired, exception.Message); } public static TheoryData TimeoutValidData => new TheoryData diff --git a/test/Kestrel.FunctionalTests/HttpsConnectionAdapterTests.cs b/test/Kestrel.FunctionalTests/HttpsConnectionAdapterTests.cs index ebf608176..c08d02fb3 100644 --- a/test/Kestrel.FunctionalTests/HttpsConnectionAdapterTests.cs +++ b/test/Kestrel.FunctionalTests/HttpsConnectionAdapterTests.cs @@ -427,7 +427,7 @@ public void ThrowsForCertificatesMissingServerEku(string testCertName) ServerCertificate = cert, })); - Assert.Equal(HttpsStrings.FormatInvalidServerCertificateEku(cert.Thumbprint), ex.Message); + Assert.Equal(CoreStrings.FormatInvalidServerCertificateEku(cert.Thumbprint), ex.Message); } private static async Task App(HttpContext httpContext) From 9cb1acdea05091fb1f40aa78179fd22e0248edb7 Mon Sep 17 00:00:00 2001 From: "Chris Ross (ASP.NET)" Date: Mon, 18 Dec 2017 14:45:58 -0800 Subject: [PATCH 2/2] Update dependencies --- build/dependencies.props | 48 ++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/build/dependencies.props b/build/dependencies.props index 3467fe7ed..511e04d92 100644 --- a/build/dependencies.props +++ b/build/dependencies.props @@ -7,34 +7,34 @@ 0.10.11 2.1.0-preview1-15626 1.10.0 - 2.1.0-preview1-27807 - 2.1.0-preview1-27807 - 2.1.0-preview1-27807 - 2.1.0-preview1-27807 - 2.1.0-preview1-27807 - 2.1.0-preview1-27807 - 2.1.0-preview1-27807 - 2.1.0-preview1-27807 - 2.1.0-preview1-27807 - 2.1.0-preview1-27807 - 2.1.0-preview1-27807 - 2.1.0-preview1-27807 - 2.1.0-preview1-27807 - 2.1.0-preview1-27807 + 2.1.0-preview1-27845 + 2.1.0-preview1-27845 + 2.1.0-preview1-27845 + 2.1.0-preview1-27845 + 2.1.0-preview1-27845 + 2.1.0-preview1-27845 + 2.1.0-preview1-27845 + 2.1.0-preview1-27845 + 2.1.0-preview1-27845 + 2.1.0-preview1-27845 + 2.1.0-preview1-27845 + 2.1.0-preview1-27845 + 2.1.0-preview1-27845 + 2.1.0-preview1-27845 2.0.0 - 2.1.0-preview1-26008-01 - 2.1.0-preview1-27807 + 2.1.0-preview1-26016-05 + 2.1.0-preview1-27845 15.3.0 4.7.49 10.0.1 - 4.5.0-preview1-26006-06 - 0.1.0-e171206-2 - 0.1.0-e171206-2 - 4.5.0-preview1-26006-06 - 4.5.0-preview1-26006-06 - 4.5.0-preview1-26006-06 - 4.5.0-preview1-26006-06 - 0.1.0-e171206-2 + 4.5.0-preview1-26016-05 + 0.1.0-e171215-1 + 0.1.0-e171215-1 + 4.5.0-preview1-26016-05 + 4.5.0-preview1-26016-05 + 4.5.0-preview1-26016-05 + 4.5.0-preview1-26016-05 + 0.1.0-e171215-1 4.5.0-preview2-25707-02 0.8.0 2.3.1