Skip to content

syncsynchalt/illustrated-tls13

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

The Illustrated TLS Connection

Published at https://tls13.xargs.org

  • site/: page source for the finished product
  • server/main.c: server code
  • client/main.c: client code
  • archive/: previous version of this site, which was based on a pre-production BoringSSL patch
  • openssl/: patch of OpenSSL that removes any random aspects of the documented connection
  • captures/: PCAP and keylog files

See also https://github.com/syncsynchalt/illustrated-tls for a TLS 1.2 version of this project.

Build instructions

If you'd like a working example that reproduces the exact handshake documented on the site:

git clone https://github.com/syncsynchalt/illustrated-tls13.git
cd illustrated-tls13/
cd openssl/
make
cd ../server/
make
cd ../client/
make

Then open two terminals and run ./server in the server/ subdir and ./client in the client/ subdir.

This has been shown to work on MacOS 10.14 and various Linuxes and only has a few easy-to-find dependencies: gcc or clang, golang, cmake, make, patch.

About

The Illustrated TLS 1.3 Connection: Every byte explained

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published