A TLS 1.2 handshake
01Hello messages negotiate parameters before keys and Finished messages establish protection.
This guide explains the 2008 publication. Superseded by RFC 8446, RFC 9846.
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
DIAGRAM§ 7.3 ↗
RFC 5246 · § 7.3EXAMPLE
3 / 3
03
CCS and Finished
Each side activates its negotiated write state and verifies its peer’s Finished.
Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
RFC 4346 (TLS 1.1)RFC 5246 § 1.2
TLS 1.2 adds AEAD cipher support and replaces the older combined MD5/SHA-1 PRF with a cipher-suite-specified PRF; SHA-256 is the default.
Read the updated RFC section ↗This is a historical TLS 1.2 full-handshake overview, not a current cipher-suite recommendation.
- This is a historical TLS 1.2 full-handshake overview, not a current cipher-suite recommendation.
- The selected key-exchange method determines which handshake messages are needed.
- Finished authenticates the prior handshake after ChangeCipherSpec.
The illustration is schematic. Example values are illustrative; profiles and later security guidance can add requirements.
Read the RFC section ↗Diagrams simplify the RFC. Read the linked sections for complete requirements.
Privacy