Java TLS 最大记录大小

Java TLS max record size

我们如何使用 JDK 1.8 在 JSSE(使用 SunJCE 提供程序)中配置 TLS 最大记录大小? TLS 记录大小是否硬编码为 16K 字节。我们非常关心服务间调用的延迟,并希望尝试使用更小的 TLS 记录大小。

有很多关于 TLS 记录大小以及过大的大小可能有害的文章(例如,http://chimera.labs.oreilly.com/books/1230000000545/ch04.html#TLS_RECORD_SIZE

谢谢, 阿文德

它不是硬编码的:它取决于所使用的密码套件;但是在16k附近。

SSLSocket 不做任何缓冲,因此您可以通过使用缓冲区大小参数构造的 BufferedOutputStream 来控制实际使用的最大大小。例如,默认的 8k 将映射到密码套件在密文长度方面需要的任何值,但它会小于 16k。您必须进行一些试验才能找到目标记录大小所需的大小。