SSLEngine.Unwrap メソッド

定義

オーバーロード

Unwrap(ByteBuffer, ByteBuffer)

SSL/TLS ネットワーク データをプレーンテキスト アプリケーション データ バッファーにデコードしようとします。

Unwrap(ByteBuffer, ByteBuffer[])

SSL/TLS ネットワーク データをプレーンテキスト アプリケーション データ バッファーのシーケンスにデコードしようとします。

Unwrap(ByteBuffer, ByteBuffer[], Int32, Int32)

SSL/TLS ネットワーク データをプレーンテキスト アプリケーション データ バッファーのサブシーケンスにデコードしようとします。

Unwrap(ByteBuffer, ByteBuffer)

SSL/TLS ネットワーク データをプレーンテキスト アプリケーション データ バッファーにデコードしようとします。

[Android.Runtime.Register("unwrap", "(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;", "GetUnwrap_Ljava_nio_ByteBuffer_Ljava_nio_ByteBuffer_Handler")]
public virtual Javax.Net.Ssl.SSLEngineResult? Unwrap (Java.Nio.ByteBuffer? src, Java.Nio.ByteBuffer? dst);
[<Android.Runtime.Register("unwrap", "(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;", "GetUnwrap_Ljava_nio_ByteBuffer_Ljava_nio_ByteBuffer_Handler")>]
abstract member Unwrap : Java.Nio.ByteBuffer * Java.Nio.ByteBuffer -> Javax.Net.Ssl.SSLEngineResult
override this.Unwrap : Java.Nio.ByteBuffer * Java.Nio.ByteBuffer -> Javax.Net.Ssl.SSLEngineResult

パラメーター

src
ByteBuffer

ByteBuffer受信ネットワーク データを含む 。

dst
ByteBuffer

受信アプリケーション データを保持する 。ByteBuffer

戻り値

SSLEngineResultこの操作の結果を記述する 。

属性

例外

データの処理中に問題が発生した場合は 。

変換先バッファーの 1 つが読み取り専用の場合は 。

または dst が の場合srcnull

エンジンに必要なすべての設定がない場合 (クライアント/サーバー モードが設定されていないなど)。

注釈

SSL/TLS ネットワーク データをプレーンテキスト アプリケーション データ バッファーにデコードしようとします。

このメソッドの呼び出しは、呼び出しとまったく同じ方法で動作します: <blockquote>

{@link #unwrap(ByteBuffer, ByteBuffer [], int, int)
                engine.unwrap(src, new ByteBuffer [] { dst }, 0, 1);}

</blockquote>

javax.net.ssl.SSLEngine.unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer)Java ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

適用対象

Unwrap(ByteBuffer, ByteBuffer[])

SSL/TLS ネットワーク データをプレーンテキスト アプリケーション データ バッファーのシーケンスにデコードしようとします。

[Android.Runtime.Register("unwrap", "(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;", "GetUnwrap_Ljava_nio_ByteBuffer_arrayLjava_nio_ByteBuffer_Handler")]
public virtual Javax.Net.Ssl.SSLEngineResult? Unwrap (Java.Nio.ByteBuffer? src, Java.Nio.ByteBuffer[]? dsts);
[<Android.Runtime.Register("unwrap", "(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;", "GetUnwrap_Ljava_nio_ByteBuffer_arrayLjava_nio_ByteBuffer_Handler")>]
abstract member Unwrap : Java.Nio.ByteBuffer * Java.Nio.ByteBuffer[] -> Javax.Net.Ssl.SSLEngineResult
override this.Unwrap : Java.Nio.ByteBuffer * Java.Nio.ByteBuffer[] -> Javax.Net.Ssl.SSLEngineResult

パラメーター

src
ByteBuffer

ByteBuffer受信ネットワーク データを含む 。

dsts
ByteBuffer[]

受信アプリケーション データを保持する の配列 ByteBuffer

戻り値

SSLEngineResultこの操作の結果を記述する 。

属性

例外

データの処理中に問題が発生した場合は 。

変換先バッファーの 1 つが読み取り専用の場合は 。

または dsts が の場合srcnull

エンジンに必要なすべての設定がない場合 (クライアント/サーバー モードが設定されていないなど)。

注釈

SSL/TLS ネットワーク データをプレーンテキスト アプリケーション データ バッファーのシーケンスにデコードしようとします。

このメソッドの呼び出しは、呼び出しとまったく同じ方法で動作します: <blockquote>

{@link #unwrap(ByteBuffer, ByteBuffer [], int, int)
                engine.unwrap(src, dsts, 0, dsts.length);}

</blockquote>

javax.net.ssl.SSLEngine.unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer[])Java ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

適用対象

Unwrap(ByteBuffer, ByteBuffer[], Int32, Int32)

SSL/TLS ネットワーク データをプレーンテキスト アプリケーション データ バッファーのサブシーケンスにデコードしようとします。

[Android.Runtime.Register("unwrap", "(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;", "GetUnwrap_Ljava_nio_ByteBuffer_arrayLjava_nio_ByteBuffer_IIHandler")]
public abstract Javax.Net.Ssl.SSLEngineResult? Unwrap (Java.Nio.ByteBuffer? src, Java.Nio.ByteBuffer[]? dsts, int offset, int length);
[<Android.Runtime.Register("unwrap", "(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;", "GetUnwrap_Ljava_nio_ByteBuffer_arrayLjava_nio_ByteBuffer_IIHandler")>]
abstract member Unwrap : Java.Nio.ByteBuffer * Java.Nio.ByteBuffer[] * int * int -> Javax.Net.Ssl.SSLEngineResult

パラメーター

src
ByteBuffer

ByteBuffer受信ネットワーク データを含む 。

dsts
ByteBuffer[]

受信アプリケーション データを保持する の配列 ByteBuffer

offset
Int32

バイトの転送元となる最初のバッファーのバッファー配列内のオフセット。負以外で、 より dsts.length大きくすることはできません。

length
Int32

アクセスするバッファーの最大数。これは負ではなく、nbsp;-offset &以下dsts.lengthである必要があります。

戻り値

SSLEngineResultこの操作の結果を記述する 。

属性

例外

データの処理中に問題が発生した場合は 。

が よりdsts.length - offset大きい場合length

変換先バッファーの 1 つが読み取り専用の場合は 。

dsts、または のエントリdstsの 1 つが の場合srcnull

エンジンに必要なすべての設定がない場合 (クライアント/サーバー モードが設定されていないなど)。

注釈

SSL/TLS ネットワーク データをプレーンテキスト アプリケーション データ バッファーのサブシーケンスにデコードしようとします。 この "散乱" 操作は、1 回の呼び出しで、特定のバッファー シーケンスの 1 つ以上にバイト シーケンスをデコードします。 アンラップのスキャッタリングは、多くの場合、ネットワーク プロトコルまたはファイル形式を実装する場合に役立ちます。たとえば、データを 1 つ以上の固定長ヘッダーで構成されるセグメントにグループ化し、その後に可変長本文を続けます。 java.nio.channels.ScatteringByteChannelスキャッタッタの詳細については、サブjava.nio.channels.ScatteringByteChannel#read(ByteBuffer[], int, int)シーケンス動作の詳細を参照してください。

SSLEngine の状態によっては、このメソッドはアプリケーション データを生成せずにネットワーク データを使用する場合があります (たとえば、ハンドシェイク データを使用する場合があります)。

アプリケーションは、ピアからネットワーク データを確実に取得し、受信した順序でデータに対して unwrap() を呼び出す役割を担います。 アプリケーションでは、このメソッドへの複数の呼び出しを適切に同期する必要があります。

最初の SSLEngine ハンドシェイクがまだ開始されていない場合、このメソッドはハンドシェイクを自動的に開始します。

このメソッドは、1 つの完全な SSL/TLS ネットワーク パケットの使用を試みますが、バッファーに残っているバイトの合計を超える消費は発生しません。 各 ByteBufferの位置は、消費または生成されたデータの量を反映するように更新されます。 制限は変わりません。

dsts ByteBuffers で使用されるsrc基になるメモリは同じにすることはできません。

この呼び出しの結果として受信ネットワーク バッファーが変更される可能性があります。そのため、何らかのセカンダリ目的でネットワーク データ パケットが必要な場合は、このメソッドを呼び出す前にデータを複製する必要があります。 注: 各 SSLEngine には SSL/TLS メッセージに影響を与える一意のランダムな状態が含まれるため、ネットワーク データは 2 つ目の SSLEngine には役立ちません。

エンジンのクローズの詳細については、クラスの説明を参照してください。

javax.net.ssl.SSLEngine.unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer[], int, int)Java ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

適用対象