2016-09-27 60 views
1

我正在使用openSSL库编写SSL Client库。我可以使用我的C程序连接到https://www.httpbin.org。但是,我想手动设置我自己的AES密钥进一步对称加密,并通知服务器关键。我知道对称加密的密钥是在握手过程中设置的。我正在使用SSL_connect()连接到服务器。在openSSL中手动设置AES密钥?

如何手动设置对称密码学的密钥?

+1

这可能要采取一些黑客行为。您可以使用ChangeCipherSpec消息更改密钥。但是,有6个不同的按键可用,您可能只会更改频道旁边的3个按键。更改为特定的AES密钥可能不会工作,因为派生发生。 – jww

回答

4

这是不可能的。用于加密的密钥取决于由服务器和客户端创建的数据。这意味着客户无法完全控制关键值。参见RFC 5246(TLS 1.2)中的Computing the Master Secret