TLS protocol
Motivation
tbd
How it’s done
tbd
What I’ve learned
tbd (remember to place a card referring to code review in notes section)
(Draft here)
- TLS protocol
- record/message/extensions
- handshake and handshake messages
- hanshake messages and extensions
- PKIX and certificate
- ASN.1 DER/PEM and X.509 certificate format
- how cryptography stuff works under the hood
- implementation: OpenSSL (TODO: port notes on hackmd.io here)
- libssl, libcrypto(, and libbn) hierarchy and brief introduction
- libssl deepdive
- TUs and what type of functions they contain
- layered approach: record handling layer, message handling functions, and extension handling callbacks
- state machines: read/write FSM, handshake state FSM, sub-FSMs
- PACKET and WPACKET interface
- how it interact with libcrypto
- libcrypto deepdive? (there’s almost nothing to discuss)
- how ASN.1 is parsed (source code tracing, seems boring)
- how certificate is verified
- how cryptography operation is performed (mostly signature stuff)
- implementation: wolfSSL
Last updated on