envoyproxy / envoyproxy/envoy-mobile

Certificates: fail cert validation for HTTP/3 behind a proxy

Open
#2,617 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
566
Forks
85
PR merge metrics
No merged PRs in 30d

Description

[is_issued_by_known_root](https://github.com/envoyproxy/envoy-mobile/blob/main/library/common/jni/android_network_utility.cc#L106) is part of the return result of [jvm_verify_x509_cert_chain()](https://github.com/envoyproxy/envoy-mobile/blob/369c7fb4145b5ac9f9b5a11ebde1b52627dac2f8/library/common/jni/android_network_utility.cc#L116). It is an indicator whether Envoy Mobile is behind any proxy, and it is ignored today in cert validation. In Chrome, if this value is false, it will fail the validation for HTTP/3 because QUIC is not well supported by third party proxies, with an exception list of host names which allows users to voluntarily use QUIC behind the proxy. E-M likely will need the same feature.

One way to implement this can be plumbing this return result back to Envoy via the CertValidator interface, and let the EnvoyQuicProofVerifier to override the result based on some Envoy config knob. And add engine interface in E-M to modify the Envoy knob.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.