我在C ++中使用OpenSSL在客户端和服务器之间创建SSL连接,如下所示(客户端):
SSL *clientssl = SSL_new(ssl_client_ctx);
SSL_set_fd(clientssl, clientsocketfd);
SSL_connect(clientssl);
现在,我可以使用TLS数据包在主机之间进行通信。
但是,我还想发送和接收包含从客户端到服务器的小型AES加密部分的纯UDP数据包。我们的想法是使用SSL对称密钥作为AES密钥。
是否有类似的功能:
void SSL_get_symmetric_key(SSL *ssl, char *buffer);
我可以在客户端和服务器端使用吗?
当然,我可以自己生成AES密钥并在握手后发送,但使用现有密钥似乎更容易。