Cambios principales respecto a 1.2: se eliminan el transporte de claves con RSA estático y el de cuerpo finito (solo (EC)DHE efímero, ahora también KEM híbridos); todos los conjuntos de cifrado son AEAD y solo nombran el AEAD y el hash; los mensajes del handshake posteriores a ServerHello van cifrados; se eliminan la renegociación y la compresión; las firmas RSA del handshake deben usar PSS; el key schedule (la fase que deriva las claves) se basa en HKDF; la reanudación usa claves precompartidas con datos 0-RTT opcionales.
La negociación de versión se esconde en la extensión supported_versions: el campo de versión heredado sigue indicando TLS 1.2 (0x0303) porque los dispositivos intermedios (middleboxes) fallaban con valores nuevos, y el servidor señala una degradación en los últimos 8 bytes de ServerHello.random. El RFC 9846 incorpora erratas y aclaraciones sin cambiar el protocolo en la red.
La compatibilidad es casi universal en navegadores y bibliotecas (OpenSSL 1.1.1 y posteriores, Go, Java 11 y posteriores, .NET, Windows 11 y Server 2022). El intercambio de claves poscuántico (X25519MLKEM768) y Encrypted Client Hello solo existen en TLS 1.3.