1

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

4

1 回答 1

1

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

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

于 2015-09-27T22:00:44.440 回答