Skip to content

AllowRenegotiation property on SslStream options bag is not implemented. #24577

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

Closed
Priya91 opened this issue Jan 5, 2018 · 3 comments · Fixed by dotnet/corefx#26199
Closed
Labels
area-System.Net.Security enhancement Product code improvement that does NOT require public API changes/additions
Milestone

Comments

@Priya91
Copy link
Contributor

Priya91 commented Jan 5, 2018

It is not clear why the AllowRenegotiation property was added to the options bag in the ALPN API proposal in the issue #23157

Renegotiation is not a condition or property required for ALPN. It is not clear if this property is intended for the purposes of allowing/disallowing insecure renegotiation.

@Tratcher @geoffkizer I remember you mentioning this is required for HTTP/2 support, can you elaborate on the use-case for this property? If not, we should remove this from the API surface area, as it's not supported in implementation currently.

@Priya91 Priya91 changed the title AllowRenegotiation property on SslStream options bag. AllowRenegotiation property on SslStream options bag is not implemented. Jan 5, 2018
@Priya91
Copy link
Contributor Author

Priya91 commented Jan 5, 2018

@Tratcher
Copy link
Member

Tratcher commented Jan 5, 2018

See https://tools.ietf.org/html/rfc7540#section-9.2.1. The spec says renegotiation must be disabled, it does not give a lot of reasoning as to why.

I asked on the PR why you were adding the property before implementing it. Now it's time to implement it.

@Priya91
Copy link
Contributor Author

Priya91 commented Jan 6, 2018

So in that case, we want AllowRenegotiation to always be true whenever secure renogiations are possible which is monitored by the native OS stack, and in case of HTTP/2 one might disable renegotiation. In that case, it makes sense to rename this property as DisableRenegotiation with default as false, and the user may set it to true in case of HTTP/2.

@msftgits msftgits transferred this issue from dotnet/corefx Jan 31, 2020
@msftgits msftgits added this to the 2.1.0 milestone Jan 31, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 19, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Net.Security enhancement Product code improvement that does NOT require public API changes/additions
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants