我被困在檢索SSL握手後生成的Key_block。我實現了一個簡單的Client.cpp/Server.cpp程序,可以很好地交換加密數據。openSSL密鑰塊訪問功能?
我想檢索key_block,因爲我想重新使用它並在另一個通信中執行我自己的加密,但不需要再次握手。
我想:
ssl->s3->tmp.key_block
,但它檢索一個空字符串,當然
ssl->s3->tmp.key_block_length
檢索0值(?!)。
我在SSL_accept(ssl)成功後立即調用這些方法。
一旦我已經能夠抓住這個key_block,我需要找到SSL_write(...)所使用的加密功能
希望你能聽到我,因爲OpenSSL的文檔加密,似乎我的眼睛.. =)
密鑰塊僅在握手過程中使用,用於構造*幾個不同的工作密鑰;如果這就是你想要的,那麼沒有單個'the'鍵或'the'函數可以用來模仿SSL_write。如果你只是想要一個共享密鑰用於其他**,自1.0.1以來的OpenSSL版本實現rfc5707來產生派生的共享密鑰;請參閱'tls1.h'頭文件中的'SSL_export_keying_material'。 –
非常感謝dave_thompson_085!我會試着從這些功能中獲得一個共享的祕密。自從一個星期以來,我一直在努力爭取openSSL文檔,你是否有特別的聖經推薦,或者你是否花了很多時間來研究這個主題? –