diff --git a/docs/web-configuration.md b/docs/web-configuration.md index c3b1cf12..316e2b62 100644 --- a/docs/web-configuration.md +++ b/docs/web-configuration.md @@ -86,7 +86,7 @@ tls_server_config: # the order of elements in cipher_suites, is used. [ prefer_server_cipher_suites: | default = true ] - # Elliptic curves that will be used in an ECDHE handshake, in preference + # Elliptic curves and key exchange mechanisms that will be used in a TLS handshake, in preference # order. Available curves are documented in the go documentation: # https://golang.org/pkg/crypto/tls/#CurveID [ curve_preferences: diff --git a/web/testdata/web_config_noAuth_allCurves.good.yml b/web/testdata/web_config_noAuth_allCurves.good.yml index 2b29808c..a4724f53 100644 --- a/web/testdata/web_config_noAuth_allCurves.good.yml +++ b/web/testdata/web_config_noAuth_allCurves.good.yml @@ -7,3 +7,4 @@ tls_server_config: - CurveP384 - CurveP521 - X25519 + - X25519MLKEM768 diff --git a/web/tls_config.go b/web/tls_config.go index 7245f741..db0740d7 100644 --- a/web/tls_config.go +++ b/web/tls_config.go @@ -480,10 +480,11 @@ func (c Cipher) MarshalYAML() (any, error) { type Curve tls.CurveID var curves = map[string]Curve{ - "CurveP256": (Curve)(tls.CurveP256), - "CurveP384": (Curve)(tls.CurveP384), - "CurveP521": (Curve)(tls.CurveP521), - "X25519": (Curve)(tls.X25519), + "CurveP256": (Curve)(tls.CurveP256), + "CurveP384": (Curve)(tls.CurveP384), + "CurveP521": (Curve)(tls.CurveP521), + "X25519": (Curve)(tls.X25519), + "X25519MLKEM768": (Curve)(tls.X25519MLKEM768), } func (c *Curve) UnmarshalYAML(unmarshal func(any) error) error {