Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[QUIC] Use server TLS options in QUIC #32071

Closed
scalablecory opened this issue Feb 10, 2020 · 8 comments
Closed

[QUIC] Use server TLS options in QUIC #32071

scalablecory opened this issue Feb 10, 2020 · 8 comments
Assignees
Labels
area-System.Net.Quic enhancement Product code improvement that does NOT require public API changes/additions
Milestone

Comments

@scalablecory
Copy link
Contributor

We need to support multiple ALPN protocols, certificates, and SNI callbacks in QuicListener:

// TODO allow for a callback to select the certificate (SNI).
public IntPtr ListenerOpen(QuicListenerOptions options)
{
if (!_opened)
{
OpenSession(options.ServerAuthenticationOptions.ApplicationProtocols[0].Protocol.ToArray(),
(ushort)options.MaxBidirectionalStreams,
(ushort)options.MaxUnidirectionalStreams);
}

@scalablecory scalablecory added this to the 5.0 milestone Feb 10, 2020
@Dotnet-GitSync-Bot Dotnet-GitSync-Bot added the untriaged New issue has not been triaged by the area owner label Feb 10, 2020
@scalablecory scalablecory removed the untriaged New issue has not been triaged by the area owner label Feb 10, 2020
@karelz karelz added the enhancement Product code improvement that does NOT require public API changes/additions label Feb 20, 2020
@karelz karelz changed the title Use server TLS options in QUIC [QUIC] Use server TLS options in QUIC Mar 11, 2020
@scalablecory scalablecory modified the milestones: 5.0.0, 6.0.0 Aug 11, 2020
@scalablecory
Copy link
Contributor Author

@jkotalik moving to 6.0 -- did you find a way to use a server cert with Kestrel?

@ManickaP
Copy link
Member

Triage: we're missing features in msquic to fully support that. We do have some support.

@karelz
Copy link
Member

karelz commented Nov 16, 2021

Triage: We need to make it more specific - list the ones we do not have & find out if we need msquic changes / features.
Making it high-pri until we know we have everything we need in msquic to build on.

@ManickaP
Copy link
Member

ManickaP commented Feb 8, 2022

SslServerOptions properties we do not touch (not sure if they all make sense in QUIC context):

  • AllowRenegotiation
  • CipherSuitesPolicy PNSE
  • EnabledSslProtocols.NoEncryption PNSE (should this rather be != RequireEncryption)

cc @wfurt could you help identify if anything from the three we should support and if not, we might add some more PNSE and close this.

@wfurt
Copy link
Member

wfurt commented Feb 8, 2022

We should do CipherSuitesPolicy at some point. MsQuic has support now but at this point the list has only 3 items AFAIK.

@ManickaP ManickaP self-assigned this Feb 8, 2022
@ManickaP
Copy link
Member

CipherSuitePolicy covered in #55378

@wfurt
Copy link
Member

wfurt commented Feb 16, 2022

Looks complete to me.
CertificateRevocationCheckMode is covered indirectly.
For the NoEncryption: for SslStream we accept AllowNoEncryption even on systems that do not support NULL encryption. It will just never happen. We can be more strict for QUIC if we want to.

I would be in favor of closing this and keeping specific issues instead.

@ManickaP
Copy link
Member

I'll close this for now, since we have an issue for the policy.

@ghost ghost locked as resolved and limited conversation to collaborators Mar 19, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Net.Quic enhancement Product code improvement that does NOT require public API changes/additions
Projects
None yet
Development

No branches or pull requests

6 participants