| File: TlsHandshakeCallbackContext.cs | Web Access |
| Project: src\aspnetcore\src\Servers\Kestrel\Core\src\Microsoft.AspNetCore.Server.Kestrel.Core.csproj (Microsoft.AspNetCore.Server.Kestrel.Core) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Net.Security; using Microsoft.AspNetCore.Connections; using Microsoft.AspNetCore.Http.Features; namespace Microsoft.AspNetCore.Server.Kestrel.Https; /// <summary> /// Per connection state used to determine the TLS options. /// </summary> public class TlsHandshakeCallbackContext { // ServerOptionsSelectionCallback parameters /// <summary> /// The TLS stream on which the authentication happens. /// </summary> public SslStream SslStream { get; internal set; } = default!; /// <summary> /// Information from the Client Hello message. /// </summary> public SslClientHelloInfo ClientHelloInfo { get; internal set; } /// <summary> /// The information that was passed when registering the callback. /// </summary> public object? State { get; internal set; } /// <summary> /// The token to monitor for cancellation requests. /// </summary> public CancellationToken CancellationToken { get; internal set; } // Kestrel specific /// <summary> /// Information about an individual connection. /// </summary> public ConnectionContext Connection { get; internal set; } = default!; /// <summary> /// Indicates if the application is allowed to request a client certificate after the handshake has completed. /// The default is false. See <see cref="ITlsConnectionFeature.GetClientCertificateAsync"/> /// </summary> public bool AllowDelayedClientCertificateNegotation { get; set; } }