JSSE包装会创建两个需要两个包装的tls数据包。为什么?

【字号: 日期:2024-02-24浏览:45作者:雯心
如何解决JSSE包装会创建两个需要两个包装的tls数据包。为什么??

您所看到的是缓解BEAST攻击的两种略有不同的方法。一种方法是使用空片段,就像使用OpenSSL一样。该JSSE不单独发送1个字节的数据,其余类似的东西。

解决方法

我正在检查与连接的openssl客户端有关jsse tls加密和解密的Java应用程序的行为。

首先,我观察到当我为客户端数据调用unwrap时,它总是对37字节的字节进行解包并产生0。下一次的unwrap会消耗一些字节并产生一些。

起初我以为客户端会先包装一个空数组。但是后来我发现jsse代码执行相同的操作,除了它产生1个字节而不是0个字节。

因此,对a的每次调用都wrap消耗X个字节并产生Y个字节,但需要两个unwrapS,而第一个调用消耗37个字节并产生1个字节,而第二个消耗Y-37个字节并产生X-1个字节。

尽管openssl和jsse的功能几乎相同,但我希望这是正确的。但是我想知道,为什么会这样。我看不出有什么原因,因此需要更多资源…?

相关文章: