-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
[API Review] Add Windows Store in the TLS validation context #15291
Conversation
Signed-off-by: Sotiris Nanopoulos <sonanopo@microsoft.com>
at this context the value for |
cc @mattklein123 @envoyproxy/windows-dev |
Signed-off-by: Sotiris Nanopoulos <sonanopo@microsoft.com>
Signed-off-by: Sotiris Nanopoulos <sonanopo@microsoft.com>
@@ -212,7 +212,12 @@ message TlsSessionTicketKeys { | |||
[(validate.rules).repeated = {min_items: 1}, (udpa.annotations.sensitive) = true]; | |||
} | |||
|
|||
// [#next-free-field: 13] | |||
message CaStore { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wrapped the CaStore
into a message instead of a string to be more extensible in the future
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add message docs for this also?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For sure. Do you mind if add the message docs along with the implementation? Or do we want the docs for the api review
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The API is simple. Once we have consensus I would just do it all in this PR?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I will do everything in a single PR. Just deferring resolving this comment until a commit or two down the line when I have the implementation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general this looks reasonable to me. @lizan @ggreenway any thoughts from a TLS API perspective?
/wait
@@ -212,7 +212,12 @@ message TlsSessionTicketKeys { | |||
[(validate.rules).repeated = {min_items: 1}, (udpa.annotations.sensitive) = true]; | |||
} | |||
|
|||
// [#next-free-field: 13] | |||
message CaStore { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add message docs for this also?
@lizan @ggreenway let me know what you think, I am hoping to have this change land on 1.18 |
If this is the expected way to get trusted CAs on the platform, it seems fine. Should it be named Is there any facility to update a running envoy if the trust store changes, similar to SDS? |
I wanted to keep the property away from the platform in case someone wants to use it for a POSIX concept. Even though I can't think of anything I wanted to keep the api flexible for extensibility in the future.
Yeah if you want to use certificates stored in the store and not in the file, I don't think there is a good way to for envoy to know about updates. i.e. I am not sure if its possible with the win32 api to implement |
Updating the thread: There is a way to get notifications and callbacks when the store value changes certcontrolstore |
@mattklein123 @ggreenway I am think more of the implementation and I want to make a big change that will probably cascade over various files so I want to get your opinions first. @wrowe for thoughts I want to change:
to:
with:
The reason I am consider this approach is the following:
If you think this is a good idea, I can make a separate PR for this change |
@davinci26 I guess I'm wondering what's the difference between putting the ifdef in the enum vs. just using an ifdef to call a different function? How many callsites are we talking about? Is the issue that you want to keep the calling code generic? How will you handle someone configuring cert store on windows if cert is behind an ifdef? |
This pull request has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in 7 days if no further activity occurs. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions! |
I won't have time to deal with this PR and the priority of this change has dropped. Closing and reopening after 1.18 release |
Signed-off-by: Sotiris Nanopoulos sonanopo@microsoft.com
Commit Message:
See #13596
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]
[Optional API Considerations:]