Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要在普通计算机上运行 OpenSSL 客户端的嵌入式设备上实现 TLS。数据传输一次限制为小于 1 kB。我一直在研究 mbedtls,可以将记录缓冲区限制为 2 kB 以节省内存,但标准 TLS 记录最多可达 16 kB。是否可以限制 TLS 中的记录大小,或者至少要求每个 SSL_write 命令创建自己的记录?否则 OpenSSL 可能会连接数据并创建一个太长而无法接收的记录。我可以完全控制连接的两端,因此兼容性应该没有任何问题。
尝试BIO_set_write_buffer_size(),但您应该能够控制一次读取或发送多少,并在每次写入后刷新 BIO。
BIO_set_write_buffer_size()
另一种策略可能是创建一个内存 BIO,并传输它产生的输出字节。您无法控制其缓冲区的最大大小,但您应该能够通过这种方式手动控制块大小。