Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/libraries/System.Net.Quic/ref/System.Net.Quic.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ internal QuicConnection() { }
public static bool IsSupported { get { throw null; } }
public System.Net.IPEndPoint LocalEndPoint { get { throw null; } }
public System.Net.Security.SslApplicationProtocol NegotiatedApplicationProtocol { get { throw null; } }
[System.CLSCompliantAttribute(false)]
public System.Net.Security.TlsCipherSuite NegotiatedCipherSuite { get { throw null; } }
public System.Security.Cryptography.X509Certificates.X509Certificate? RemoteCertificate { get { throw null; } }
public System.Net.IPEndPoint RemoteEndPoint { get { throw null; } }
public string TargetHostName { get { throw null; } }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,24 @@ public X509Certificate? RemoteCertificate
/// </summary>
public SslApplicationProtocol NegotiatedApplicationProtocol => _negotiatedApplicationProtocol;

/// <summary>
/// Negotiated TLS cipher suite
/// </summary>
[CLSCompliant(false)]
public TlsCipherSuite NegotiatedCipherSuite
{
get
{
QUIC_HANDSHAKE_INFO info;
unsafe
{
MsQuicHelpers.GetMsQuicParameter(_handle, QUIC_PARAM_TLS_HANDSHAKE_INFO, (uint)sizeof(QUIC_HANDSHAKE_INFO), (byte*)&info);
}

return (TlsCipherSuite)info.CipherSuite;
}
}

/// <inheritdoc />
public override string ToString() => _handle.ToString();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Net.Sockets;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using System.Threading;
using System.Threading.Tasks;
Expand Down Expand Up @@ -47,10 +48,13 @@ public async Task TestConnect(IPAddress address)
// https://github.com/microsoft/msquic/issues/3813
Assert.Equal(clientConnection.LocalEndPoint, serverConnection.RemoteEndPoint);
}
Assert.Equal(ApplicationProtocol.ToString(), clientConnection.NegotiatedApplicationProtocol.ToString());
Assert.Equal(ApplicationProtocol.ToString(), serverConnection.NegotiatedApplicationProtocol.ToString());
Comment on lines -50 to -51
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason for removing these?

Assert.Equal(options.ClientAuthenticationOptions.TargetHost, clientConnection.TargetHostName);
Assert.Equal(options.ClientAuthenticationOptions.TargetHost, serverConnection.TargetHostName);

Assert.Equal(clientConnection.NegotiatedCipherSuite, serverConnection.NegotiatedCipherSuite);
Assert.True(clientConnection.NegotiatedCipherSuite == TlsCipherSuite.TLS_AES_128_GCM_SHA256 ||
clientConnection.NegotiatedCipherSuite == TlsCipherSuite.TLS_AES_256_GCM_SHA384 ||
clientConnection.NegotiatedCipherSuite == TlsCipherSuite.TLS_CHACHA20_POLY1305_SHA256);
}

private static async Task<QuicStream> OpenAndUseStreamAsync(QuicConnection c)
Expand Down