JSSE wrap создает два пакета tls, требующие двух развертываний. Почему?

Я проверяю поведение нашего java-приложения в отношении шифрования и дешифрования jsse tls с помощью подключенного клиента openssl.

Сначала я заметил, что когда я вызываю unwrap для клиентских данных, он всегда разворачивается, занимая 37 байт и получая 0. Следующая развертка занимает несколько байтов и производит несколько.

Сначала я думал, что клиент сначала обернет пустой массив. Но потом я обнаружил, что код jsse делает то же самое, за исключением того, что он выдает 1 байт вместо 0.

Так что каждый звонокwrap потребляет X байтов и производит Y байтов, но требует ДВАunwraps, тогда как первый потребляет 37 байтов и производит 1 байт, а второй - байты Y-37 и производит байты X-1.

Хотя openssl и jsse делают почти одно и то же, я ожидаю, что это будет правильно. Однако я хотел бы знать, почему это происходит. Я не вижу причины для этого, и это требует дополнительных ресурсов ...?

Ответы на вопрос(1)

Ваш ответ на вопрос