Il messaggio Change Cipher Spec
significa: d'ora in poi, i record verranno crittografati con la suite e le chiavi di crittografia appena negoziate. Quindi tutti i record successivi saranno crittografati, e questo è ciò che osservate: un record crittografato. Ovviamente non puoi vedere il contenuto: questo è il punto di crittografia.
Subito dopo Change Cipher Spec
segue un messaggio Finished
, che serve come conferma che l'handshake ha funzionato correttamente. I contenuti non elaborati hanno una lunghezza di 12 byte e sono calcolati come un hash di tutti i precedenti messaggi di handshake. Questi 12 byte saranno crittografati, il che comporta l'aggiunta del valore MAC del record, quindi eventualmente un padding (se si utilizza un codice a blocchi in modalità CBC).
Ad esempio, se, nel tuo esempio, hai usato una suite di crittografia con 3DES in modalità CBC come cifrario a blocchi e SHA-1 per l'integrità, allora 20 byte vengono aggiunti per il MAC, quindi tra 1 e 8 byte per il riempimento , in modo che la lunghezza totale sia un multiplo di 8 (3DES utilizza blocchi di 8 byte). Questo produce 40 byte, ed è esattamente ciò che osservi.
Vedi lo standard , in particolare sezione 7.4.9 per il messaggio Finished
; vedi anche questa risposta per un walk-through di SSL / TLS.