-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
ExchangeAlgorithmType enum is missing 44550 #55570
Comments
Tagging subscribers to this area: @dotnet/ncl, @vcsjones Issue DetailsDescription
Console.WriteLine("Key exchange: {0} strength {1}", stream.KeyExchangeAlgorithm, stream.KeyExchangeStrength); Configuration.NET 5.0 Regression?No, was never included. Other informationSee also Archived Forums > .NET Framework Class Libraries > SslStream.KeyExchangeAlgorithm 44550
|
That would be missing in |
Tagging subscribers to this area: @bartonjs, @vcsjones, @krwq, @GrabYourPitchforks Issue DetailsDescription
Console.WriteLine("Key exchange: {0} strength {1}", stream.KeyExchangeAlgorithm, stream.KeyExchangeStrength); Configuration.NET 5.0 Regression?No, was never included. Other informationSee also Archived Forums > .NET Framework Class Libraries > SslStream.KeyExchangeAlgorithm 44550
|
I noticed that in the Unix PAL for runtime/src/libraries/System.Net.Security/src/System/Net/Security/TlsCipherSuiteData.Lookup.cs Lines 1833 to 1836 in b2a670b
My understanding of |
@karelz The enum is part of System.Net.Primitives and is logically part of SslStream, namespace notwithstanding. |
Tagging subscribers to this area: @dotnet/ncl, @vcsjones Issue DetailsDescription
Console.WriteLine("Key exchange: {0} strength {1}", stream.KeyExchangeAlgorithm, stream.KeyExchangeStrength); Configuration.NET 5.0 Regression?No, was never included. Other informationSee also Archived Forums > .NET Framework Class Libraries > SslStream.KeyExchangeAlgorithm 44550
|
Looks like we explicitly group all Diffie-Hellman variants together to a single enum value (https://github.com/dotnet/runtime/blob/main/src/libraries/System.Net.Security/src/System/Net/Security/TlsCipherSuiteNameParser.ttinclude#L75-L96), we can do the same on Windows for consistency, or add new enum values and use them everywhere. |
I think a distinct value is better. Presumably SChannel agreed, as presumably 44550 is a number out of Windows SslStream. If non-Windows is folding it down to FF-DH that's just because of a square-peg/round-hole (but-I-have-a-lathe!) problem. |
triage: we should add new enum and fix up the mapping. |
Triage: It would be good to update all 3 enum types pertaining to the cipher suite properties to stay current and to report more detailed information for users who use the properties for auditing purposes. |
I tried looking into adding more values so that we are on par with what we get from TLS ciphersuites in runtime/src/libraries/System.Net.Security/src/System/Net/Security/TlsCipherSuiteNameParser.ttinclude Lines 11 to 71 in f92b9ef
So far, there are following obstacles:
@wfurt, @bartonjs do we care about using the same numbers as underlying windows crypto does? I think we could do without it and just use the lookup table we have for Unix on all OSes and gain also consistency. |
My gut says the numbers are the same so that no one had to write a mapping table; a convenience that only made sense when the framework was (largely) Windows-only. So, "no" (but we can't change any of the existing numbered things). |
We had similar problem with https://learn.microsoft.com/en-us/dotnet/api/system.net.sockets.protocolfamily?view=net-8.0 There are some Linux specific so we put them to the end so they are less likely to collide with Windows numbering. |
Moving to 10.0.0 milestone as this is not critical to 9.0.0, but still would be nice to get it in. |
Since #100361, the plan is to obsolete the enum, closing as won't do. |
Description
SslStream.KeyExchangeAlgorithm
https://docs.microsoft.com/en-us/dotnet/api/system.net.security.sslstream.keyexchangealgorithm?view=net-5.0
Configuration
.NET 5.0
Regression?
No, was never included.
Other information
See also Archived Forums > .NET Framework Class Libraries > SslStream.KeyExchangeAlgorithm 44550
The text was updated successfully, but these errors were encountered: