2016-07-29 57 views
0

我写它采用的boost :: ASIO,并通过其与的boost :: ASIO整合的libssl服务器应用程序。当有传入连接,第一次握手成功,但连接断开与客户端尝试重新连接后,握手失败,出现错误:SSL握手错误:会话ID上下文未初始化

session id context uninitialized

Here提出的解决方案使用SSL_OP_NO_TICKET选项,当SSL上下文被初始化时。我用下面的方法:

m_sslContext.set_options(SSL_OP_NO_TICKET); 

在开始时,这解决了问题,但现在尽管选项仍然设置错误再次出现。有没有人有一个想法可以解决这个问题呢?

+1

当你没有提供更多的特异性时,很难回答这样的问题。请至少发布一些相关的代码片段。 – vordhosbn

+0

@bobeff - 相关,这听起来像是Boost中的一个bug。我不记得在OpenSSL中遇到过它。也许你应该用Boost提交错误报告,以便他们修复它。考虑到早期报告可以追溯到2013年,我猜测Boost没有意识到存在问题。 – jww

回答

0

我发现,当问题出现时,我仍然有一个旧的连接到同一个远程端点,它试图再次连接。当我正确放弃旧连接时,问题消失了。