我不得不检索在SSL握手之后生成的Key_block。我实现了一个简单的Client.cpp/Server.cpp程序,它可以很好地交换加密数据。
我想要检索key_block,因为我想重用它并在另一次通信中执行自己的加密,但不需要再次握手。
我试过了:
ssl->s3->tmp.key_block但它会检索一个空字符串(?!)当然还有
ssl->s3->tmp.key_block_length 检索0值。
我在SSL_accept(ssl)成功之后立即调用这些方法。
一旦我能够捕捉到这个key_block,我就需要找到SSL_write(...)使用的加密函数。
希望你听到我说的话,因为在我看来openSSL文档是加密的..=)
发布于 2015-11-25 06:24:57
XY问题。你不需要这个。只需打开到同一目标的另一个SSL连接,它应该重用相同的SSL会话,从而重用相同的会话主密钥。也许甚至是相同的会话密钥,但只要它是安全的,你又有什么关系呢?您似乎只是试图避免第二次完整的SSL握手,但是您可以通过在客户端进行适当的配置来做到这一点。
https://stackoverflow.com/questions/33903103
复制相似问题