Skip to content

Commit f14b435

Browse files
committed
gep: standardizing behavior for invalid BackendTLSPolicy
Signed-off-by: Norwin Schnyder <[email protected]>
1 parent 24803c3 commit f14b435

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

geps/gep-1897/index.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,8 @@ configuration. CACertificateRefs is an implementation-specific slice of
214214
named object references, each containing a single cert. We originally proposed to follow the convention established by the
215215
[CertificateRefs field on Gateway](https://github.com/kubernetes-sigs/gateway-api/blob/18e79909f7310aafc625ba7c862dfcc67b385250/apis/v1beta1/gateway_types.go#L340)
216216
, but the CertificateRef requires both a tls.key and tls.crt and a certificate reference only requires the tls.crt.
217+
If the CertificateRef cannot be resolved or does not include a certificate (tls.crt), the BackendTLSPolicy is considered invalid.
218+
217219
WellKnownCACertificates is an optional enum that allows users to specify whether to use the set of CA certificates trusted by the
218220
Gateway (WellKnownCACertificates specified as "System"), or to use the existing CACertificateRefs (WellKnownCACertificates
219221
specified as ""). The use and definition of system certificates is implementation-dependent, and the intent is that
@@ -223,7 +225,11 @@ between the gateway and backend pod. References to a resource in a different nam
223225
If ClientCertificateRefs is unspecified, then WellKnownCACertificates must be set to "System" for a valid configuration.
224226
If WellKnownCACertificates is unspecified, then CACertificateRefs must be specified with at least one entry for a valid configuration.
225227
If WellKnownCACertificates is set to "System" and there are no system trusted certificates or the implementation doesn't define system
226-
trusted certificates, then the associated TLS connection must fail.
228+
trusted certificates, the BackendTLSPolicy is considered invalid.
229+
230+
For an invalid BackendTLSPolicy, implementations MUST NOT fall back to unencrypted (plaintext) connections.
231+
Instead, the corresponding TLS connection MUST fail, and the client MUST receive an HTTP error response.
232+
Additionally, the `Accepted` status condition of the BackendTLSPolicy MUST be set to `False` with the reason `Invalid`.
227233

228234
The `Hostname` field is required and is to be used to configure the SNI the Gateway should use to connect to the backend.
229235
Implementations must validate that at least one name in the certificate served by the backend matches this field.

0 commit comments

Comments
 (0)