-
Notifications
You must be signed in to change notification settings - Fork 27
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
Fixes MAISTRA-2324: Backport multi-root support for Envoy #92
Conversation
057f294
to
9bca8bc
Compare
envoyproxy/envoy#14884 ported. @oschaaf: fixed the comparison you pointed out the other day; The main changes in this batch are here: https://github.com/maistra/envoy/pull/92/files#diff-067aae04811b0f9ec5191388ebd58efe08012c3bc75e0951c028448ec87e2d70R164. I'm quite certain we are ok (see the comment), an alternative would be to open up internal OpenSSL structures (something I try to do sparingly) and just use upstream code without changes. |
9bca8bc
to
fa297b0
Compare
port of tls: separate out cert validation logic from ContextImpl (#14757)
cherry-pick of tls: implement SPIFFE Certificate Validator for independent multiple trust domain support (#14884) Adds the extension point for certificate validations, and its first implementation for SPIFFE multi trust domain support in a single listener or cluster. Resolves envoyproxy/envoy#14614 and envoyproxy/envoy#9284. Risk Level: low (only adding the new extension point and one implementation for it) Testing: unit tests and integration tests. Docs Changes: Release Notes: tls: implement SPIFFE Certificate Validator for independent multiple trust domain support. Signed-off-by: Takeshi Yoneda <[email protected]>
tls: fix flaky integration test of SPIFFE validator (#15301) Previously these tests flake due to early counter check before the counter is actually incremented, and fail occasionally around 1~3%. I tried this with --runs_per_test=10000 and never failed. Signed-off-by: Takeshi Yoneda <[email protected]> Signed-off-by: Dmitri Dolguikh <[email protected]>
Add separate SPIFFE integeration test build target. (#15324) Signed-off-by: Takeshi Yoneda <[email protected]> Signed-off-by: Dmitri Dolguikh <[email protected]>
tls: enable allow_expired_certificate for SPIFFE validator (#15426) Signed-off-by: Takeshi Yoneda <[email protected]> Signed-off-by: Dmitri Dolguikh <[email protected]>
fa297b0
to
9b72e59
Compare
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.
One comment, other then that LGTM
bssl::UniquePtr<X509_STORE_CTX> verify_ctx(X509_STORE_CTX_new()); | ||
// We make a copy of X509_VERIFY_PARAMs in the store_ctx that we received as a parameter. | ||
// This is a precaution mostly, as Envoy doesn't configure any X509_VERIFY_PARAMs. | ||
// Note that there's no api to copy crls from one store_ctx to another; the assumption is that |
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.
This sentence is slightly hard to grok because of the double negation; if it is semantically correct probably not worth iterating on, but if this is accidental perhaps it is.
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.
Ugh, indeed, this is hard to understand, and I wrote it. Fixed.
tls: enable match_subject_alt_names option in SPIFFE validator (#15509) Signed-off-by: Takeshi Yoneda <[email protected]> Signed-off-by: Dmitri Dolguikh <[email protected]>
9b72e59
to
41c3342
Compare
* Fixes MAISTRA-2324: port of tls: separate out cert validation logic from ContextImpl (#14757) * Fixes MAISTRA-2324: cherry-pick of tls: implement SPIFFE Certificate Validator for independent multiple trust domain support (#14884) Adds the extension point for certificate validations, and its first implementation for SPIFFE multi trust domain support in a single listener or cluster. Resolves envoyproxy/envoy#14614 and envoyproxy/envoy#9284. Risk Level: low (only adding the new extension point and one implementation for it) Testing: unit tests and integration tests. Docs Changes: Release Notes: tls: implement SPIFFE Certificate Validator for independent multiple trust domain support. Signed-off-by: Takeshi Yoneda <[email protected]> * Fixes MAISTRA-2324: cherry-pick of tls: fix flaky integration test of SPIFFE validator (#15301) Previously these tests flake due to early counter check before the counter is actually incremented, and fail occasionally around 1~3%. I tried this with --runs_per_test=10000 and never failed. Signed-off-by: Takeshi Yoneda <[email protected]> Signed-off-by: Dmitri Dolguikh <[email protected]> * Fixes MAISTRA-2324: cherry-pick of Add separate SPIFFE integeration test build target. (#15324) Signed-off-by: Takeshi Yoneda <[email protected]> Signed-off-by: Dmitri Dolguikh <[email protected]> * Fixes MAISTRA-2324: cherry-pick of tls: enable allow_expired_certificate for SPIFFE validator (#15426) Signed-off-by: Takeshi Yoneda <[email protected]> Signed-off-by: Dmitri Dolguikh <[email protected]> * Fixes MAISTRA-2324: cherry-pick of tls: enable match_subject_alt_names option in SPIFFE validator (#15509) Signed-off-by: Takeshi Yoneda <[email protected]> Signed-off-by: Dmitri Dolguikh <[email protected]> Co-authored-by: Takeshi Yoneda <[email protected]>
This is a port of tls: separate out cert validation logic from ContextImpl (#14757) (the original PR: envoyproxy/envoy#14757).
The next PR in the queue is envoyproxy/envoy#14884. It's going to be tricky, upstream relies on what is an OpenSSL internal data-structure in their spiffe validator implementation.
@dgn, @oschaaf.