Software /
code /
prosody
Comparison
core/certmanager.lua @ 13503:8b68e8faab52
core.certmanager: Include ffdhe2048 from RFC 7919 as default DH param
This removes one manual (yet undocumented) step that was supposed to be
done to get a complete 'intermediate' configuration.
This file can be found on the Internet by searching for "ffdhe2048" and
can be verified by comparing the hexadecimal representation of p from
the RFC with the output of `openssl asn1parse`.
Given the preference and prevalence of ECDHE, it seems likely that few
would have noticed this.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 12 Jul 2024 15:06:42 +0200 |
parent | 13303:05c0ac580552 |
child | 13703:99d2100d2918 |
comparison
equal
deleted
inserted
replaced
13502:61da4491eebc | 13503:8b68e8faab52 |
---|---|
211 "!aNULL", -- Ciphers that does not authenticate the connection | 211 "!aNULL", -- Ciphers that does not authenticate the connection |
212 }; | 212 }; |
213 dane = tls.features.capabilities.dane and configmanager.get("*", "use_dane") and { "no_ee_namechecks" }; | 213 dane = tls.features.capabilities.dane and configmanager.get("*", "use_dane") and { "no_ee_namechecks" }; |
214 } | 214 } |
215 | 215 |
216 -- https://datatracker.ietf.org/doc/html/rfc7919#appendix-A.1 | |
217 local ffdhe2048 = [[ | |
218 -----BEGIN DH PARAMETERS----- | |
219 MIIBCAKCAQEA//////////+t+FRYortKmq/cViAnPTzx2LnFg84tNpWp4TZBFGQz | |
220 +8yTnc4kmz75fS/jY2MMddj2gbICrsRhetPfHtXV/WVhJDP1H18GbtCFY2VVPe0a | |
221 87VXE15/V8k1mE8McODmi3fipona8+/och3xWKE2rec1MKzKT0g6eXq8CrGCsyT7 | |
222 YdEIqUuyyOP7uWrat2DX9GgdT0Kj3jlN9K5W7edjcrsZCwenyO4KbXCeAvzhzffi | |
223 7MA0BM0oNC9hkXL+nOmFg/+OTxIy7vKBg8P+OxtMb61zO7X8vC7CIAXFjvGDfRaD | |
224 ssbzSibBsu/6iGtCOGEoXJf//////////wIBAg== | |
225 -----END DH PARAMETERS----- | |
226 ]] | |
227 | |
216 local mozilla_ssl_configs = { | 228 local mozilla_ssl_configs = { |
217 -- https://wiki.mozilla.org/Security/Server_Side_TLS | 229 -- https://wiki.mozilla.org/Security/Server_Side_TLS |
218 -- Version 5.7 as of 2023-07-09 | 230 -- Version 5.7 as of 2023-07-09 |
219 modern = { | 231 modern = { |
220 protocol = "tlsv1_3"; | 232 protocol = "tlsv1_3"; |
223 curveslist = { "X25519"; "prime256v1"; "secp384r1" }; | 235 curveslist = { "X25519"; "prime256v1"; "secp384r1" }; |
224 ciphersuites = { "TLS_AES_128_GCM_SHA256"; "TLS_AES_256_GCM_SHA384"; "TLS_CHACHA20_POLY1305_SHA256" }; | 236 ciphersuites = { "TLS_AES_128_GCM_SHA256"; "TLS_AES_256_GCM_SHA384"; "TLS_CHACHA20_POLY1305_SHA256" }; |
225 }; | 237 }; |
226 intermediate = { | 238 intermediate = { |
227 protocol = "tlsv1_2+"; | 239 protocol = "tlsv1_2+"; |
228 dhparam = nil; -- ffdhe2048.txt | 240 dhparam = ffdhe2048; |
229 options = { cipher_server_preference = false }; | 241 options = { cipher_server_preference = false }; |
230 ciphers = { | 242 ciphers = { |
231 "ECDHE-ECDSA-AES128-GCM-SHA256"; | 243 "ECDHE-ECDSA-AES128-GCM-SHA256"; |
232 "ECDHE-RSA-AES128-GCM-SHA256"; | 244 "ECDHE-RSA-AES128-GCM-SHA256"; |
233 "ECDHE-ECDSA-AES256-GCM-SHA384"; | 245 "ECDHE-ECDSA-AES256-GCM-SHA384"; |