代码中的OpenSSL握手逻辑

时间:2016-09-02 18:34:05

标签: ssl openssl

可以在OpenSSL / ssl / ssl_lib.c找到SSL_do_handshake的代码。 SSL_do_handshake函数将等待TLS握手发生。 我无法理解实现的逻辑。如果我的理解是正确的,TLS handshake包含生成对称密钥之前的几个步骤。在哪里可以找到代码中的各个步骤(发送客户端问候等)以实现SSL_do_handshake()函数。这些步骤是否在OpenSSL库的不同部分。如果是这样,它们如何在do_handshake函数中被跟踪/调用?

更广泛的背景: 像apache / nginx这样的软件在他们的代码中使用OpenSSL。我想用修改后的握手替换apache / nginx代码中使用的SSL_do_handshake()函数。为此,我需要了解OpenSSL中实现的逻辑。请注意,我希望用我修改过的API调用替换API调用。我不想对openssl进行更改,然后重新编译并使用修改后的OpenSSL库。 modified_handshake API应该能够用用户生成的密钥替换握手结束时生成的对称密钥。

0 个答案:

没有答案