我正在使用连接的 openssl 客户端检查我们的 java 应用程序在 jsse tls 加密和解密方面的行为。
首先,我观察到,当我为客户端数据调用 unwrap 时,它总是展开消耗 37 个字节并产生 0。下一次展开消耗一些字节并产生一些。
起初我以为客户端会先包装一个空数组。但后来我发现 jsse 代码的作用相同,只是它产生 1 个字节而不是 0。
因此,对 a 的每次调用都会wrap
消耗 X 字节并产生 Y 字节,但需要两个unwrap
,而第一个调用消耗 37 个字节并产生 1 个字节,第二个调用消耗 Y-37 个字节并产生 X-1 个字节。
虽然 openssl 和 jsse 做的几乎一样,但我希望这是正确的。但是我想知道,为什么会这样。我看不出有什么原因,它需要额外的资源......?