diff options
author | Nick Mathewson <nickm@torproject.org> | 2018-02-10 16:09:01 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2018-02-10 16:09:01 -0500 |
commit | 4de20d175476ab684ca15ea794af729348297540 (patch) | |
tree | 71cade52fa08314af7eb010c46e2152341a73ec9 /src/common/tortls.c | |
parent | 84bc75b2e7046eed519e09cba77b3a1727fa64f5 (diff) | |
parent | 86583ad78e6c75ea0094553584428f795089c482 (diff) | |
download | tor-4de20d175476ab684ca15ea794af729348297540.tar.gz tor-4de20d175476ab684ca15ea794af729348297540.zip |
Merge branch 'maint-0.3.1' into maint-0.3.2
Diffstat (limited to 'src/common/tortls.c')
-rw-r--r-- | src/common/tortls.c | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/src/common/tortls.c b/src/common/tortls.c index 9d2d0240a2..e8c51879bd 100644 --- a/src/common/tortls.c +++ b/src/common/tortls.c @@ -570,13 +570,35 @@ tor_tls_create_certificate,(crypto_pk_t *rsa, /** List of ciphers that servers should select from when the client might be * claiming extra unsupported ciphers in order to avoid fingerprinting. */ -#define SERVER_CIPHER_LIST \ - (TLS1_TXT_DHE_RSA_WITH_AES_256_SHA ":" \ - TLS1_TXT_DHE_RSA_WITH_AES_128_SHA) +static const char SERVER_CIPHER_LIST[] = +#ifdef TLS1_3_TXT_AES_128_GCM_SHA256 + /* This one can never actually get selected, since if the client lists it, + * we will assume that the client is honest, and not use this list. + * Nonetheless we list it if it's available, so that the server doesn't + * conclude that it has no valid ciphers if it's running with TLS1.3. + */ + TLS1_3_TXT_AES_128_GCM_SHA256 ":" +#endif + TLS1_TXT_DHE_RSA_WITH_AES_256_SHA ":" + TLS1_TXT_DHE_RSA_WITH_AES_128_SHA; /** List of ciphers that servers should select from when we actually have * our choice of what cipher to use. */ static const char UNRESTRICTED_SERVER_CIPHER_LIST[] = + /* Here are the TLS 1.3 ciphers we like, in the order we prefer. */ +#ifdef TLS1_3_TXT_AES_256_GCM_SHA384 + TLS1_3_TXT_AES_256_GCM_SHA384 ":" +#endif +#ifdef TLS1_3_TXT_CHACHA20_POLY1305_SHA256 + TLS1_3_TXT_CHACHA20_POLY1305_SHA256 ":" +#endif +#ifdef TLS1_3_TXT_AES_128_GCM_SHA256 + TLS1_3_TXT_AES_128_GCM_SHA256 ":" +#endif +#ifdef TLS1_3_TXT_AES_128_CCM_SHA256 + TLS1_3_TXT_AES_128_CCM_SHA256 ":" +#endif + /* This list is autogenerated with the gen_server_ciphers.py script; * don't hand-edit it. */ #ifdef TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384 |