限制OpenSSL中的记录大小

时间:2015-09-27 21:31:57

标签: openssl mbed polarssl

我需要在普通计算机上运行OpenSSL客户端的嵌入式设备上实现TLS。数据传输一次限制在小于1 kB。我一直在看mbedtls,可以将记录缓冲区限制在2 kB以节省内存,但标准TLS记录最高可达16 kB。是否可以在TLS中限制记录大小,或者至少要求每个SSL_write命令创建自己的记录?否则,OpenSSL可能会连接数据并创建一个太长而无法接收的记录。我完全控制了连接的两端,因此不存在任何兼容性问题。

1 个答案:

答案 0 :(得分:1)

尝试BIO_set_write_buffer_size(),但您应该能够控制一次读取或发送的数量,并在每次写入后刷新BIO。

另一种策略可能是创建一个内存BIO,并传输它产生的输出字节。您无法控制其缓冲区的最大大小,但您应该能够以这种方式手动控制块大小。