Cipher suites
Refer to the following list to know what cipher suites Cloudflare presents to origin servers during an SSL/TLS handshake.
The list order is based on how the cipher suites appear in the ClientHello ↗, communicating Cloudflare's preference.
Cipher name | TLS 1.0 | TLS 1.1 | TLS 1.2 | TLS 1.3 |
---|---|---|---|---|
AEAD-AES128-GCM-SHA256 1 | ❌ | ❌ | ❌ | ✅ |
AEAD-AES256-GCM-SHA384 1 | ❌ | ❌ | ❌ | ✅ |
AEAD-CHACHA20-POLY1305-SHA256 1 | ❌ | ❌ | ❌ | ✅ |
ECDHE-ECDSA-AES128-GCM-SHA256 | ❌ | ❌ | ✅ | ❌ |
ECDHE-RSA-AES128-GCM-SHA256 | ❌ | ❌ | ✅ | ❌ |
ECDHE-RSA-AES128-SHA | ✅ | ✅ | ✅ | ❌ |
AES128-GCM-SHA256 | ❌ | ❌ | ✅ | ❌ |
AES128-SHA | ✅ | ✅ | ✅ | ❌ |
ECDHE-ECDSA-AES256-GCM-SHA384 | ❌ | ❌ | ✅ | ❌ |
ECDHE-RSA-AES256-GCM-SHA384 | ❌ | ❌ | ✅ | ❌ |
ECDHE-RSA-AES256-SHA384 | ❌ | ❌ | ✅ | ❌ |
AES256-SHA | ✅ | ✅ | ✅ | ❌ |
DES-CBC3-SHA | ✅ | ❌ | ❌ | ❌ |
Although TLS 1.3 uses the same cipher suite space as previous versions of TLS, TLS 1.3 cipher suites are defined differently, only specifying the symmetric ciphers, and cannot be used for TLS 1.2 (RFC 8446 ↗).
Similarly, TLS 1.2 and lower cipher suites cannot be used with TLS 1.3. BoringSSL also hard-codes cipher preferences in the order above for TLS 1.3.
Based on BoringSSL, Cloudflare system will return the names listed above. However, the corresponding names defined in RFC 8446 ↗ are the following:
TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256
Cloudflare will present the cipher suites to your origin and your server will select whichever cipher suite it prefers.
However, if you want to ensure that your origin server supports the same cipher suites that Cloudflare supports at our global network and you use NGINX ↗ for TLS termination on your origin, you can apply the following configuration:
-
Refer to TLS 1.3 cipher suites for details. ↩ ↩2 ↩3