private static async ValueTask <SslServerAuthenticationOptions> ServerOptionsCallback(SslStream sslStream, SslClientHelloInfo clientHelloInfo, object?state, CancellationToken cancellationToken) { var(middleware, context, feature) = (ValueTuple <HttpsConnectionMiddleware, ConnectionContext, Core.Internal.TlsConnectionFeature>)state !; feature.HostName = clientHelloInfo.ServerName; context.Features.Set(sslStream); var sslOptions = await middleware._httpsOptionsCallback !(context, sslStream, clientHelloInfo, middleware._httpsOptionsCallbackState !, cancellationToken); KestrelEventSource.Log.TlsHandshakeStart(context, sslOptions); return(sslOptions); }
public static ValueTask <SslServerAuthenticationOptions> OptionsCallback(ConnectionContext connection, SslStream stream, SslClientHelloInfo clientHelloInfo, object state, CancellationToken cancellationToken) { var sniOptionsSelector = (SniOptionsSelector)state; var options = sniOptionsSelector.GetOptions(connection, clientHelloInfo.ServerName); return(new ValueTask <SslServerAuthenticationOptions>(options)); }