TLS Handshake Visualizer

Watch HTTPS connections establish step by step

💻Client
(Browser)
🖥️Server

TLS 1.2 vs TLS 1.3 Comparison

FeatureTLS 1.2TLS 1.3
Round Trips2-RTT1-RTT
0-RTT ResumptionNoYes (PSK)
Key ExchangeRSA, DHE, ECDHEECDHE only (forward secrecy mandatory)
Cipher Suites~37 suites5 suites (simplified)
Forward SecrecyOptionalMandatory
RSA Key TransportAllowedRemoved
Server Hello EncryptedNoAfter ServerHello
Certificate EncryptedNo (visible)Yes (encrypted)
Downgrade ProtectionVulnerableBuilt-in sentinel
Session TicketsOptional extensionNewSessionTicket message
AEAD CiphersOptionalRequired
CompressionAllowed (CRIME)Removed
RenegotiationSupportedRemoved

TLS 1.3 Cipher Suites

SuiteEncryptionHash
TLS_AES_128_GCM_SHA256AES-128-GCMSHA-256
TLS_AES_256_GCM_SHA384AES-256-GCMSHA-384
TLS_CHACHA20_POLY1305_SHA256ChaCha20-Poly1305SHA-256
TLS_AES_128_CCM_SHA256AES-128-CCMSHA-256
TLS_AES_128_CCM_8_SHA256AES-128-CCM-8SHA-256

What is TLS?

TLS (Transport Layer Security) is the protocol that secures HTTPS connections. It provides encryption, authentication, and integrity between a client and server.

TLS 1.3 Handshake Steps

  • ClientHello — Client sends supported cipher suites, key shares (ECDHE public keys), and SNI (server name)
  • ServerHello — Server selects cipher suite and key share. From here, traffic is encrypted
  • EncryptedExtensions — Server sends additional parameters (encrypted)
  • Certificate — Server sends its X.509 certificate chain (encrypted in TLS 1.3)
  • CertificateVerify — Server proves it owns the private key by signing the handshake transcript
  • Finished — Server sends MAC of entire handshake for integrity verification
  • Client Finished — Client verifies everything, sends its own Finished message

Key Exchange (ECDHE)

Both sides generate ephemeral key pairs on an elliptic curve (e.g., X25519). They exchange public keys and compute the same shared secret independently. This provides forward secrecy — even if the server's long-term private key is compromised later, past sessions remain safe.

Certificate Verification

  • Client checks certificate chain: server cert → intermediate CA → root CA
  • Root CA must be in the client's trust store
  • Client verifies cert hasn't expired and isn't revoked (OCSP/CRL)
  • Client checks SNI matches certificate's Subject Alternative Names (SAN)

0-RTT Resumption (TLS 1.3)

If client has a PSK (Pre-Shared Key) from a previous session, it can send application data in the very first message (0-RTT). Risk: 0-RTT data is replayable, so only safe for idempotent requests (GET).