接続されたopensslクライアントを使用したjsse tls暗号化と復号化に関して、Javaアプリケーションの動作を調べています。
最初に、クライアント データに対して unwrap を呼び出すと、常に 37 バイトを消費して 0 を生成することを観察しました。次の unwrap は、いくつかのバイトを消費し、いくつかを生成します。
最初は、クライアントが最初に空の配列をラップすると思っていました。しかしその後、jsse コードが同じことを行うことを発見しましたが、0 ではなく 1 バイトを生成する点が異なります。
したがって、 a へのすべての呼び出しwrap
は X バイトを消費して Y バイトを生成しますがunwrap
、最初の呼び出しは 37 バイトを消費して 1 バイトを生成し、2 番目の呼び出しは Y-37 バイトを消費して X-1 バイトを生成します。
openssl と jsse はほぼ同じことを行っていますが、それは正しいと思います。しかし、なぜそれが起こるのか知りたいです。その理由がわかりません。追加のリソースが必要です...?