首页 > 解决方案 > SSL 异常:错误:1409E10F:SSL 例程:ssl3_write_bytes:错误长度

问题描述

我正在使用Poco库编写一个网络应用程序,专门围绕Poco::Net::SecureStreamSocket. 一些用户最近开始报告他们看到以下错误:

SSL Exception: error:1409E10F:SSL routines:ssl3_write_bytes:bad length

这似乎是一个非常容易被 Google 识别的错误,但由于某种原因,我找不到很多关于我做错了什么的好信息。从我收集到的信息来看,这个错误似乎表明在后台进行了 SSL 重新协商(?),并且底层 SSL 库需要客户端(即我)重新传输数据。但是,据我所知,所有以前的消息都已成功传输。

捕获异常的代码如下所示:

try
    {
        if (!m_socket)
        {
            return false;
        }

        int32_t res = m_socket->sendBytes((uint8_t*)header, send_len);
        if (res != send_len)
        {
            // Handle error
        }

        res = m_socket->sendBytes(item->buffer.data(), item->buffer.size());
        if (res != (int32_t)item->buffer.size())
        {
            // Handle error
        }

        return true;
    }
    catch (const Poco::IOException& e)
    {
        LOG_ERROR("transmit:IOException: " + e.displayText());
        // Handle error
    }

这是异常处理程序中的错误日志,Poco::IOException它使我陷入了这个问题。

标签: c++sslopensslnetwork-programmingpoco-libraries

解决方案


推荐阅读