SSLEngine.Unwrap メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
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
が の場合src
。null
エンジンに必要なすべての設定がない場合 (クライアント/サーバー モードが設定されていないなど)。
注釈
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
が の場合src
。null
エンジンに必要なすべての設定がない場合 (クライアント/サーバー モードが設定されていないなど)。
注釈
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 つが の場合src
。null
エンジンに必要なすべての設定がない場合 (クライアント/サーバー モードが設定されていないなど)。
注釈
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 ByteBuffer
s で使用されるsrc
基になるメモリは同じにすることはできません。
この呼び出しの結果として受信ネットワーク バッファーが変更される可能性があります。そのため、何らかのセカンダリ目的でネットワーク データ パケットが必要な場合は、このメソッドを呼び出す前にデータを複製する必要があります。 注: 各 SSLEngine には SSL/TLS メッセージに影響を与える一意のランダムな状態が含まれるため、ネットワーク データは 2 つ目の SSLEngine には役立ちません。
エンジンのクローズの詳細については、クラスの説明を参照してください。
の javax.net.ssl.SSLEngine.unwrap(java.nio.ByteBuffer, java.nio.ByteBuffer[], int, int)
Java ドキュメント。
このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。