CryptoTester
Transport security · RFC 8446

Transport-Layer Security

Version
View

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.
Mode

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.