我正在實施tls 1.2,並且我卡在客戶端完成的消息上。我的問題是當使用ECDHE_RSA_AES_128_GCM_SHA256密碼時,tls 1.2中客戶端已完成消息的大小和結構如何。 我一派這個問題有人表示,其大小爲48字節客戶端在TLS 1.2中完成的消息?
- > 12字節校驗數據
- > 1字節握手類型
- > 3字節校驗數據長度
- >和32字節的MAC
它是rigth?並根據RFC 5246完成消息具有{verify_data [verify_data_length]}
和verify_data = PRF(master_secret,finished_label,散列(handshake_messages)
和根據RFC 5246第5
PRF(祕密,標籤,種子)= P_(祕密,標籤+種子)
和P_hash(祕密,種子)= HMAC_hash(祕密,A(1)+ S eed)
當我使用sha256爲verify_data計算HMAC時,它的大小是32字節。所以我在verify_data大小和完成的消息結構中感到困惑。請有人引導我走向正確的道路。
我能問你爲什麼C#,C和C++標有這個問題都非常不同的語言 –
我只需要概念不管使用哪種語言。 –
這裏可能有一些有用的信息和它所做的參考。 http://security.stackexchange.com/questions/65622/client-server-encryption-technique-explanation-tls-ecdhe-rsa-with-aes-128-gcm-s –