JSSE wrap crea dos paquetes tls que requieren dos desenvolvimientos. ¿Por qué?
Estoy inspeccionando el comportamiento de nuestra aplicación java con respecto al cifrado y descifrado jsse tls con un cliente openssl conectado.
Primero observé que cuando invoco a desenvolver los datos del cliente, siempre se desenvuelve consumiendo 37 bytes y produciendo 0. El siguiente desenvolvimiento consume algunos bytes y produce algunos.
Al principio pensé que el cliente envolvería primero una matriz vacía. Pero luego descubrí que el código jsse hace lo mismo, excepto que produce 1 byte en lugar de 0.
Así que cada llamada a unwrap
consume X bytes y produce Y bytes pero requiere DOSunwrap
s mientras que el primero consume 37 bytes y produce 1 byte y el segundo consume Y-37 bytes y produce X-1 bytes.
Mientras openssl y jsse están haciendo casi lo mismo, espero que sea correcto. Sin embargo me gustaría saber por qué sucede eso. No veo una razón para eso y se necesitan recursos adicionales ...?