SSL_接受挂起。。。有时(C、linux、openssl)

SSL_接受挂起。。。有时(C、linux、openssl),c,linux,embedded,openssl,C,Linux,Embedded,Openssl,我目前正在一个嵌入式linux系统上工作。系统上有两个关键的客户端应用程序连接到外部服务器(在另一个嵌入式系统上,都是用C编写的)。这两个应用程序使用不同的证书 ssl连接工作正常。。。至少通常是这样,但有时会发生错误:服务器在接受来自其中一个应用程序(使用旧证书的应用程序)的连接时挂起SSL_accept()。重新启动服务器应用程序没有帮助,也没有重新启动客户端-唯一的方法是重新启动服务器系统,除非我创建一个指向其他应用程序使用的新证书的Symblic链接-只有这样才能重新启动服务器应用程序

我目前正在一个嵌入式linux系统上工作。系统上有两个关键的客户端应用程序连接到外部服务器(在另一个嵌入式系统上,都是用C编写的)。这两个应用程序使用不同的证书

ssl连接工作正常。。。至少通常是这样,但有时会发生错误:服务器在接受来自其中一个应用程序(使用旧证书的应用程序)的连接时挂起SSL_accept()。重新启动服务器应用程序没有帮助,也没有重新启动客户端-唯一的方法是重新启动服务器系统,除非我创建一个指向其他应用程序使用的新证书的Symblic链接-只有这样才能重新启动服务器应用程序

当两个应用程序使用相同的新证书时,永远不会发生错误


这可能是由于某些奇怪的openssl缓存或类似的原因造成的吗?

其中一个日志中是否有任何数据?您会遇到什么错误?您的底层套接字是阻塞的还是非阻塞的?如果是阻塞,则在握手完成之前,调用不会返回。这似乎与SSL lib编程有关。SSL库是否有任何限制?你在用什么样的库?开源?其中一个日志中有数据吗?您会遇到什么错误?您的底层套接字是阻塞的还是非阻塞的?如果是阻塞,则在握手完成之前,调用不会返回。这似乎与SSL lib编程有关。SSL库是否有任何限制?你在用什么样的库?开源?