TLS Handshake & mTLS Visualizer

Step through TLS 1.3, certificate validation, mTLS mutual auth, and common failure modes

TLS 1.3 Handshake
Certificate Validation
mTLS Mutual Auth
Session Resumption
Failure Modes
TCP ○ TLS ○ Cert ○ Keys ○ Data ○
OSI layers: Steps ①②③ are L4 Transport (TCP) — pipe opens, no data yet.  ·  Steps ④⑤⑥ are L5 Session — TLS handshake: cert validation, key exchange, session establishment.  ·  L6 Presentation handles ongoing encryption after L5 completes.  ·  No app data flows until step ⑥ completes.
🖥️
Client
Browser / App
192.168.1.10
No cert presented
Client Keys
Kc_pubephemeral public
Kc_privephemeral private
① TCP SYNseq=100 — initiating connection
② TCP SYN-ACKseq=200, ack=101
③ TCP ACKConnection established ✓
④ ClientHello TLS 1.3 · cipher suites · ECDH key share Kc_pub · SNI: api.example.com
⑤ ServerHello + Certificate + Finished Chosen cipher · ECDH key share Ks_pub · Cert chain · Already encrypted ✓
⑥ Finished + First HTTP Request Encrypted · Session keys active · 1-RTT complete ✓
⑦ Encrypted Application Data200 OK · JSON body — TLS fully established
🖩
Server
nginx / Cloudflare
104.21.1.1:443
*.example.com cert
Server Keys
Ks_pubephemeral public
Ks_privephemeral private
Subject*.example.com
IssuerLet's Encrypt R10
Valid from2024-01-01
Expires2024-04-01
Key algoECDSA P-256
SANapi.example.com ✓
Step 0
Event Log
Select a tab and press Next Step to walk through the handshake.