rsa_pkcs1_sha384
rsa_pkcs1_sha384 is RSA PKCS#1 v1.5 with SHA-384, accepted for certificate signatures. Every client we recorded sends it.
What it is
rsa_pkcs1_sha384 (code 0x0501) is RSASSA-PKCS1-v1_5 with SHA-384. As with rsa_pkcs1_sha256, RFC 8446 allows it in TLS 1.3 only for signatures inside certificates, not for the handshake signature, which must use RSA-PSS. TLS 1.2 also uses it for handshake signatures.
Some certificate authorities sign certificates with SHA-384 instead of SHA-256, especially in hierarchies built on larger keys. Listing this scheme lets a client validate such chains.
PKCS#1 v1.5 with SHA-384 has no known practical weakness; TLS 1.3 prefers RSA-PSS for handshakes because of its stronger security proof.
RFC 8446 also defines rsa_pkcs1_sha512 with the same rules. Go, the Firefox profile of curl-impersonate and the OpenSSL-based clients list the three PKCS#1 schemes together after their RSA-PSS schemes, while the Chrome profiles and macOS curl alternate PSS and PKCS#1 for each hash. In TLS 1.2, where PKCS#1 v1.5 is still allowed for handshakes, a server may sign with it directly.
Who sends it
Measured on 2026-10-25 against our own test server: sent by 11 of 11 clients. Position counts from 1 and ignores GREASE values.
Why it matters for fingerprinting
Every client we recorded sends it, at very different positions: 5th for macOS curl, 6th for the Chrome profile of curl-impersonate, 7th for Go net/http, 8th for the Firefox profile, 9th for curl_cffi, 13th for Debian curl and 19th for Python requests, httpx, Node.js fetch and Guzzle. Our Chrome capture did not record signature algorithms.
Check whether your client sends it
Open the test from your browser, or call it from your script, and look for rsa_pkcs1_sha384 in the TLS details.
Run the TLS fingerprint test