我使用wireshark来观察几个SSL3.0流量并解密客户端和服务器之间传输的消息.
而我刚才发现的很奇怪:
AFAIK,用于计算客户端发送的客户端完成和应用程序数据的加密密钥,MAC和加密算法完全相同.
但是,当我使用相同的客户端写入密钥来加密客户端完成(源自MasterSecret)来加密应用程序数据时,我得到的结果与客户端(firefox)计算的结果不同.
奇怪的行为也发生在服务器上:我可以使用server-write-key(从MasterSecret派生)成功解密"服务器完成"消息,但无法解密来自服务器的任何其他加密消息.
那么,你能告诉我client-write-key和server-write-key发生了什么?客户端和服务器在发送"已完成"消息后是否更改了其写密钥?
PS:我强迫客户端(Firefox)使用SSL V3.0,cipherSuite = TLS_RSA_WITH_RC4_128_MD5