TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
A TLS 1.2 cipher suite with DHE key exchange and ChaCha20-Poly1305. Only curl, Guzzle and Node.js offer it in our data.
What it is
TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (code 0xCCAA) is a TLS 1.2 cipher suite defined in RFC 7905. It pairs ephemeral finite-field Diffie-Hellman key exchange and an RSA certificate with the ChaCha20-Poly1305 authenticated cipher, and SHA-256 for the PRF.
It completes the ChaCha20 set of RFC 7905 next to the ECDHE_ECDSA and ECDHE_RSA variants. Its record protection is modern, but it carries the cost and the parameter-choice problems of finite-field Diffie-Hellman in TLS 1.2, where the server picks the group.
Because servers almost always prefer ECDHE when the client offers it, this suite is very rarely negotiated. In our data it appears only in the defaults of curl, Guzzle and Node.js.
Its code, 0xCCAA, sits right next to the two ECDHE ChaCha20 suites, 0xCCA8 and 0xCCA9, which were assigned together in RFC 7905.
Who sends it
Measured on 2026-10-25 against our own test server: sent by 4 of 12 clients. Position counts from 1 and ignores GREASE values.
Why it matters for fingerprinting
In our measurements only Debian curl and Guzzle (both at position 9), macOS curl (6th) and Node.js fetch (16th) offer it. Python requests and httpx, which do offer other DHE suites, leave this one out, as do Go net/http and every Chrome-like client. That makes it one of the details separating PHP and curl clients from Python clients with otherwise similar OpenSSL lists.
Check whether your client sends it
Open the test from your browser, or call it from your script, and look for TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 in the TLS details.
Run the TLS fingerprint test