有没有办法在没有另一次握手的情况下使用ssl打开新连接?

时间:2015-04-22 19:05:42

标签: ssl openssl

我正在设计一个服务器,其中协议允许客户端打开与服务器的额外物理连接,这些连接在单个逻辑连接的上下文中运行。

有一个想法是,如果我们使用ssl,我们将需要为新连接进行另一次ssl握手。在我看来,应该可以通过原始的安全连接向客户端发送一些秘密,这样可以在没有握手的情况下安全地建立新连接(类似于我读过的有关ssl会话重用的内容)。 / p>

这实际上可行吗?

2 个答案:

答案 0 :(得分:1)

SSL已经这样做了。如果两端都支持它,则会有一个名为“会话恢复”的功能。它允许通过现有的SSL会话通过一个简短的握手进行新的连接,而无需交换证书和协商秘密。

答案 1 :(得分:1)

是的,重用SSL Session。您可以使用PEM_write_bio_SSL_SESSIONPEM_read_bio_SSL_SESSION然后将其添加到SSL上下文来执行此操作。

请记住,您只需要在客户端模式下执行此操作,服务器模式会自动为您执行此操作。