TLS:哪个是AES密钥?

时间:2016-09-09 20:33:04

标签: ssl aes rsa

我正在编写一个非常小的TLS客户端,与我的SMTP客户端一起使用它。 SMTP客户端已经运行良好,但我想将它与GMX或GoogleMail等邮件提供商一起使用。所以我需要TLS。

第一个握手消息已经在运行:

  1. 发送"客户您好"
  2. 接收"服务器Hello"
  3. 接收服务器证书
  4. 接收"服务器Hello完成"
  5. 发送"客户密钥交换"
  6. 发送"更改密码规范"
  7. 下一步是发送"已完成"信息。但是我对不同的键有点困惑。

    我已经计算过RFC中描述的主密码。就像RFC描述的那样,"已完成"消息包含"验证数据"这是创造投掷

    PRF(master_secret, finished_label, Hash(handshake_messages))
    

    我似乎已经正常工作了。接下来我应该加密"验证数据"。那是对的吗?我使用密码套件TLS_RSA_WITH_AES_256_CBC_SHA256。为了使用AES-256加密数据,我必须设置一个32字节的密钥。但是我必须在这里使用哪个键?主秘密?但是主秘密是48字节长!?

    我希望有人可以帮助我并清除我的困惑。

0 个答案:

没有答案