减少Netty中的TLS记录大小?

时间:2018-05-14 11:55:23

标签: netty tls1.2

我目前正在使用Netty 4.1.24进行服务器通过TLS 1.2与客户端通过套接字连接进行通信。

目前,TLS记录大小(" wrap")是规范中定义的16 Kb(参见SslHandler中的实现;相关变量为MAX_PLAINTEXT_LENGTH和{{1} })

由于客户端的内存限制,我必须减少服务器生成的TLS记录大小。我使用wrapDataSize来限制大小,但Netty不使用它(它仍会创建16 Kb记录)。

我使用setWrapDataSize中的以下代码段来创建ChannelInitializer / SSLEngine

SslHandler

为了检查记录的大小,我使用WireShark,我仍然看到一个16388字节的记录。

我的默认SslContext Provider是JDK。

问题是:如何强制Netty创建较小的记录?

注意:我还减少了final SslContext sslCtx = SslContextBuilder.forServer(keyManagerFactory) .trustManager(trustManagerFactory) .clientAuth(ClientAuth.REQUIRE) .build(); LOGGER.info("Default SSL Provider: {}", SslContext.defaultServerProvider()); final SslHandler sslHandler = sslCtx.newHandler(channel.alloc()); // Currently not working sslHandler.setWrapDataSize(1024); 中发送缓冲区的大小,这也没有效果。 (导致它与TLS相关的事情)。

0 个答案:

没有答案