Transport-Layer Security
Watch a TLS 1.3 handshake (RFC 8446) happen step by step. Guided mode reproduces the RFC 8448 reference handshake byte-for-byte, recomputing every secret, traffic key, Finished MAC and CertificateVerify signature from the published inputs. Live mode runs a fresh handshake entirely in your browser — choose the cipher suite, key-exchange group (including the post-quantum hybrid X25519MLKEM768), server name and certificate, then watch the keys derive and the records decrypt.
You can even inject faults — tamper a Finished MAC or mismatch the key shares — and see exactly which proof fails. The Certificate view parses and inspects X.509 certificates byte by byte. It is a hands-on way to learn how modern HTTPS establishes a secure connection.
Frequently asked questions
- Is this a real TLS handshake?
- Yes — it is a real TLS 1.3 key schedule and record layer computed by OpenSSL primitives in WebAssembly, pinned to the RFC 8448 test vectors. Both parties run in your browser.
- What changed in TLS 1.3?
- TLS 1.3 cut the handshake to one round trip, removed legacy and insecure options, encrypts more of the handshake, and uses an HKDF-based key schedule with forward secrecy by default.
- Can I inspect my own certificate?
- Yes — switch to the Certificate view and paste a PEM or upload a PEM/DER file to see its parsed fields, fingerprints and a byte map.
Reproduces the “Simple 1-RTT Handshake” from RFC 8448 byte-for-byte: every secret, key and MAC below is recomputed from the published inputs, and the real encrypted records are AEAD-decrypted.
Choose a mode and run the handshake to see the Client / Server exchange.