【问题标题】:JSSE wrap creates two tls packets requiring two unwraps. Why?JSSE wrap 创建两个 tls 数据包,需要两次展开。为什么?
【发布时间】:2013-03-05 13:22:44
【问题描述】:

我正在使用连接的 openssl 客户端检查我们的 java 应用程序在 jsse tls 加密和解密方面的行为。

首先我观察到,当我为客户端数据调用 unwrap 时,它总是展开消耗 37 个字节并产生 0。下一次展开消耗一些字节并产生一些。

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

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

虽然 openssl 和 jsse 做的几乎一样,但我希望这是正确的。 但是我想知道,为什么会这样。 我看不出有什么原因,而且需要额外的资源...?

【问题讨论】:

    标签: java networking ssl openssl jsse


    【解决方案1】:

    您所看到的是缓解 BEAST 攻击的两种略有不同的方法。一种方法是使用an empty fragment as it's done with OpenSSLJSSE does something similar by sending 1 byte of data and the rest separately

    以下是一些可能感兴趣的链接:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-12
      • 2016-03-10
      • 2019-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多