5 instantiations of SslApplicationProtocol
System.Net.Quic (1)
System\Net\Quic\QuicConnection.cs (1)
625_negotiatedApplicationProtocol = new SslApplicationProtocol(new Span<byte>(data.NegotiatedAlpn, data.NegotiatedAlpnLength).ToArray());
System.Net.Security (4)
System\Net\Security\SslApplicationProtocol.cs (3)
19public static readonly SslApplicationProtocol Http3 = new SslApplicationProtocol(s_http3Utf8, copy: false); 21public static readonly SslApplicationProtocol Http2 = new SslApplicationProtocol(s_http2Utf8, copy: false); 23public static readonly SslApplicationProtocol Http11 = new SslApplicationProtocol(s_http11Utf8, copy: false);
System\Net\Security\SslStream.cs (1)
573return _connectionInfo.ApplicationProtocol != null ? new SslApplicationProtocol(_connectionInfo.ApplicationProtocol, false) : default;
65 references to SslApplicationProtocol
Microsoft.AspNetCore.Connections.Abstractions (1)
TlsConnectionCallbackOptions.cs (1)
31public List<SslApplicationProtocol> ApplicationProtocols { get; set; } = default!;
Microsoft.AspNetCore.Server.Kestrel.Core (10)
HttpsConfigurationService.cs (4)
153ApplicationProtocols = sslServerAuthenticationOptions.ApplicationProtocols ?? new List<SslApplicationProtocol> { SslApplicationProtocol.Http3 }, 162ApplicationProtocols = new List<SslApplicationProtocol> { SslApplicationProtocol.Http3 },
Internal\TlsConnectionFeature.cs (1)
144|| _sslStream.NegotiatedApplicationProtocol == SslApplicationProtocol.Http2)
Middleware\HttpsConnectionMiddleware.cs (5)
389serverOptions.ApplicationProtocols = new List<SslApplicationProtocol>(); 394serverOptions.ApplicationProtocols.Add(SslApplicationProtocol.Http2); 401serverOptions.ApplicationProtocols.Add(SslApplicationProtocol.Http11); 575ApplicationProtocols = new List<SslApplicationProtocol>() { SslApplicationProtocol.Http3 },
netstandard (1)
netstandard.cs (1)
1247[assembly: System.Runtime.CompilerServices.TypeForwardedTo(typeof(System.Net.Security.SslApplicationProtocol))]
System.Net.Http (13)
src\runtime\src\libraries\Common\src\System\Net\Security\SslClientAuthenticationOptionsExtensions.cs (1)
22ApplicationProtocols = options.ApplicationProtocols != null ? new List<SslApplicationProtocol>(options.ApplicationProtocols) : null,
System\Net\Http\SocketsHttpHandler\ConnectionPool\HttpConnectionPool.cs (10)
31private static readonly List<SslApplicationProtocol> s_http3ApplicationProtocols = new List<SslApplicationProtocol>() { SslApplicationProtocol.Http3 }; 32private static readonly List<SslApplicationProtocol> s_http2ApplicationProtocols = new List<SslApplicationProtocol>() { SslApplicationProtocol.Http2, SslApplicationProtocol.Http11 }; 33private static readonly List<SslApplicationProtocol> s_http2OnlyApplicationProtocols = new List<SslApplicationProtocol>() { SslApplicationProtocol.Http2 };
System\Net\Http\SocketsHttpHandler\ConnectionPool\HttpConnectionPool.Http2.cs (1)
194if (sslStream.NegotiatedApplicationProtocol == SslApplicationProtocol.Http2)
System\Net\Http\SocketsHttpHandler\ConnectionPool\HttpConnectionPool.Http3.cs (1)
270if (quicConnection.NegotiatedApplicationProtocol != SslApplicationProtocol.Http3)
System.Net.Quic (11)
System\Net\Quic\Internal\MsQuicConfiguration.Cache.cs (5)
34public readonly List<SslApplicationProtocol> ApplicationProtocols; 37public CacheKey(QUIC_SETTINGS settings, QUIC_CREDENTIAL_FLAGS flags, X509Certificate? certificate, ReadOnlyCollection<X509Certificate2>? intermediates, List<SslApplicationProtocol> alpnProtocols, QUIC_ALLOWED_CIPHER_SUITE_FLAGS allowedCipherSuites) 66ApplicationProtocols = new List<SslApplicationProtocol>(alpnProtocols); 106foreach (var protocol in ApplicationProtocols) 117private static MsQuicConfigurationSafeHandle GetCachedCredentialOrCreate(QUIC_SETTINGS settings, QUIC_CREDENTIAL_FLAGS flags, X509Certificate? certificate, ReadOnlyCollection<X509Certificate2>? intermediates, List<SslApplicationProtocol> alpnProtocols, QUIC_ALLOWED_CIPHER_SUITE_FLAGS allowedCipherSuites)
System\Net\Quic\Internal\MsQuicConfiguration.cs (3)
124private static MsQuicConfigurationSafeHandle Create(QuicConnectionOptions options, QUIC_CREDENTIAL_FLAGS flags, X509Certificate? certificate, ReadOnlyCollection<X509Certificate2>? intermediates, List<SslApplicationProtocol>? alpnProtocols, CipherSuitesPolicy? cipherSuitesPolicy, EncryptionPolicy encryptionPolicy) 129throw new ArgumentException(SR.Format(SR.net_quic_not_null_not_empty_connection, nameof(SslApplicationProtocol)), nameof(options)); 204private static unsafe MsQuicConfigurationSafeHandle CreateInternal(QUIC_SETTINGS settings, QUIC_CREDENTIAL_FLAGS flags, X509Certificate? certificate, ReadOnlyCollection<X509Certificate2>? intermediates, List<SslApplicationProtocol> alpnProtocols, QUIC_ALLOWED_CIPHER_SUITE_FLAGS allowedCipherSuites)
System\Net\Quic\QuicConnection.cs (2)
217private SslApplicationProtocol _negotiatedApplicationProtocol; 298public SslApplicationProtocol NegotiatedApplicationProtocol => _negotiatedApplicationProtocol;
System\Net\Quic\QuicListenerOptions.cs (1)
27public List<SslApplicationProtocol> ApplicationProtocols { get; set; } = null!;
System.Net.Security (29)
src\runtime\src\libraries\Common\src\Interop\Unix\System.Security.Cryptography.Native\Interop.OpenSsl.cs (1)
1034if (!(options?.ApplicationProtocols is List<SslApplicationProtocol> protocolList))
src\runtime\src\libraries\Common\src\Interop\Unix\System.Security.Cryptography.Native\Interop.Ssl.cs (5)
250internal static int GetAlpnProtocolListSerializedLength(List<SslApplicationProtocol> applicationProtocols) 253foreach (SslApplicationProtocol protocol in applicationProtocols) 271internal static void SerializeAlpnProtocolList(List<SslApplicationProtocol> applicationProtocols, Span<byte> buffer) 277foreach (SslApplicationProtocol protocol in applicationProtocols) 285internal static unsafe int SslSetAlpnProtos(SafeSslHandle ssl, List<SslApplicationProtocol> applicationProtocols)
System\Net\Security\SslApplicationProtocol.cs (13)
10public readonly struct SslApplicationProtocol : IEquatable<SslApplicationProtocol> 18/// <summary>Defines a <see cref="SslApplicationProtocol"/> instance for HTTP 3.0.</summary> 19public static readonly SslApplicationProtocol Http3 = new SslApplicationProtocol(s_http3Utf8, copy: false); 20/// <summary>Defines a <see cref="SslApplicationProtocol"/> instance for HTTP 2.0.</summary> 21public static readonly SslApplicationProtocol Http2 = new SslApplicationProtocol(s_http2Utf8, copy: false); 22/// <summary>Defines a <see cref="SslApplicationProtocol"/> instance for HTTP 1.1.</summary> 23public static readonly SslApplicationProtocol Http11 = new SslApplicationProtocol(s_http11Utf8, copy: false); 54public bool Equals(SslApplicationProtocol other) => 57public override bool Equals([NotNullWhen(true)] object? obj) => obj is SslApplicationProtocol protocol && Equals(protocol); 108public static bool operator ==(SslApplicationProtocol left, SslApplicationProtocol right) => 111public static bool operator !=(SslApplicationProtocol left, SslApplicationProtocol right) =>
System\Net\Security\SslAuthenticationOptions.cs (1)
199internal List<SslApplicationProtocol>? ApplicationProtocols { get; set; }
System\Net\Security\SslClientAuthenticationOptions.cs (1)
39public List<SslApplicationProtocol>? ApplicationProtocols { get; set; }
System\Net\Security\SslConnectionInfo.cs (3)
9private static readonly byte[] s_http1 = SslApplicationProtocol.Http11.Protocol.ToArray(); 10private static readonly byte[] s_http2 = SslApplicationProtocol.Http2.Protocol.ToArray(); 11private static readonly byte[] s_http3 = SslApplicationProtocol.Http3.Protocol.ToArray();
System\Net\Security\SslServerAuthenticationOptions.cs (1)
36public List<SslApplicationProtocol>? ApplicationProtocols { get; set; }
System\Net\Security\SslStream.cs (1)
568public SslApplicationProtocol NegotiatedApplicationProtocol
System\Net\Security\TlsFrameHelper.cs (3)
725if (protocol.SequenceEqual(SslApplicationProtocol.Http2.Protocol.Span)) 734else if (protocolLength == SslApplicationProtocol.Http11.Protocol.Length && 735protocol.SequenceEqual(SslApplicationProtocol.Http11.Protocol.Span))