SSLEngine.Wrap 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
| 名稱 | Description |
|---|---|
| Wrap(ByteBuffer, ByteBuffer) |
嘗試將純文字應用程式資料緩衝區編碼成 SSL/TLS 網路資料。 |
| Wrap(ByteBuffer[], ByteBuffer) |
嘗試將一連串資料緩衝區的明文位元組編碼成 SSL/TLS 網路資料。 |
| Wrap(ByteBuffer[], Int32, Int32, ByteBuffer) |
嘗試將資料緩衝區子序列的明文字位元組編碼為 SSL/TLS 網路資料。 |
Wrap(ByteBuffer, ByteBuffer)
嘗試將純文字應用程式資料緩衝區編碼成 SSL/TLS 網路資料。
[Android.Runtime.Register("wrap", "(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;", "GetWrap_Ljava_nio_ByteBuffer_Ljava_nio_ByteBuffer_Handler")]
public virtual Javax.Net.Ssl.SSLEngineResult? Wrap(Java.Nio.ByteBuffer? src, Java.Nio.ByteBuffer? dst);
[<Android.Runtime.Register("wrap", "(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;", "GetWrap_Ljava_nio_ByteBuffer_Ljava_nio_ByteBuffer_Handler")>]
abstract member Wrap : Java.Nio.ByteBuffer * Java.Nio.ByteBuffer -> Javax.Net.Ssl.SSLEngineResult
override this.Wrap : Java.Nio.ByteBuffer * Java.Nio.ByteBuffer -> Javax.Net.Ssl.SSLEngineResult
參數
- src
- ByteBuffer
ByteBuffer A 包含出站應用程式資料
- dst
- ByteBuffer
a ByteBuffer 用來存放出站網路資料
傳回
描述 SSLEngineResult 此操作的結果。
- 屬性
例外狀況
如果在處理資料時發生問題。
如果目的緩衝區是唯讀。
若 src 或 dst 為 null。
如果引擎沒有所有必要的設定(例如客戶端/伺服器模式未設定)。
備註
嘗試將純文字應用程式資料緩衝區編碼成 SSL/TLS 網路資料。
此方法的呼叫行為與呼叫 <blockquote 完全相同>
{@link #wrap(ByteBuffer [], int, int, ByteBuffer)
engine.wrap(new ByteBuffer [] { src }, 0, 1, dst);}
</區塊引用>
Java 文件 javax.net.ssl.SSLEngine.wrap(java.nio.ByteBuffer, java.nio.ByteBuffer)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
Wrap(ByteBuffer[], ByteBuffer)
嘗試將一連串資料緩衝區的明文位元組編碼成 SSL/TLS 網路資料。
[Android.Runtime.Register("wrap", "([Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;", "GetWrap_arrayLjava_nio_ByteBuffer_Ljava_nio_ByteBuffer_Handler")]
public virtual Javax.Net.Ssl.SSLEngineResult? Wrap(Java.Nio.ByteBuffer[]? srcs, Java.Nio.ByteBuffer? dst);
[<Android.Runtime.Register("wrap", "([Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;", "GetWrap_arrayLjava_nio_ByteBuffer_Ljava_nio_ByteBuffer_Handler")>]
abstract member Wrap : Java.Nio.ByteBuffer[] * Java.Nio.ByteBuffer -> Javax.Net.Ssl.SSLEngineResult
override this.Wrap : Java.Nio.ByteBuffer[] * Java.Nio.ByteBuffer -> Javax.Net.Ssl.SSLEngineResult
參數
- srcs
- ByteBuffer[]
一個包含外發應用程式資料的 ByteBuffers 陣列
- dst
- ByteBuffer
a ByteBuffer 用來存放出站網路資料
傳回
描述 SSLEngineResult 此操作的結果。
- 屬性
例外狀況
如果在處理資料時發生問題。
如果目的緩衝區是唯讀。
若 srcs 或 dst 為 null。
如果引擎沒有所有必要的設定(例如客戶端/伺服器模式未設定)。
備註
嘗試將一連串資料緩衝區的明文位元組編碼成 SSL/TLS 網路資料。
此方法的呼叫行為與呼叫 <blockquote 完全相同>
{@link #wrap(ByteBuffer [], int, int, ByteBuffer)
engine.wrap(srcs, 0, srcs.length, dst);}
</區塊引用>
Java 文件 javax.net.ssl.SSLEngine.wrap(java.nio.ByteBuffer[], java.nio.ByteBuffer)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
適用於
Wrap(ByteBuffer[], Int32, Int32, ByteBuffer)
嘗試將資料緩衝區子序列的明文字位元組編碼為 SSL/TLS 網路資料。
[Android.Runtime.Register("wrap", "([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;", "GetWrap_arrayLjava_nio_ByteBuffer_IILjava_nio_ByteBuffer_Handler")]
public abstract Javax.Net.Ssl.SSLEngineResult? Wrap(Java.Nio.ByteBuffer[]? srcs, int offset, int length, Java.Nio.ByteBuffer? dst);
[<Android.Runtime.Register("wrap", "([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;", "GetWrap_arrayLjava_nio_ByteBuffer_IILjava_nio_ByteBuffer_Handler")>]
abstract member Wrap : Java.Nio.ByteBuffer[] * int * int * Java.Nio.ByteBuffer -> Javax.Net.Ssl.SSLEngineResult
參數
- srcs
- ByteBuffer[]
一個包含外發應用程式資料的 ByteBuffers 陣列
- offset
- Int32
第一個要取出位元組的緩衝區緩衝區陣列中的偏移量;它必須非負且不大於 srcs.length
- length
- Int32
可存取的最大緩衝區數量;它必須是非負的,且不大於 srcs.length - offset
- dst
- ByteBuffer
a ByteBuffer 用來存放出站網路資料
傳回
描述 SSLEngineResult 此操作的結果。
- 屬性
例外狀況
如果在處理資料時發生問題。
若 length 大於 srcs.length - offset。
如果目的緩衝區是唯讀。
若 srcs、 dst或 ,則 中的 srcs 元素為 null。
如果引擎沒有所有必要的設定(例如客戶端/伺服器模式未設定)。
備註
嘗試將資料緩衝區子序列的明文字位元組編碼為 SSL/TLS 網路資料。 此 「收集」 操作在單一調用中編碼來自一個或多個緩衝區序列的位元組序列。 收集包裹在實作網路協定或檔案格式時常有用,例如將資料分組成由一個或多個固定長度標頭接著可變長度主體組成的段子。 關於採集java.nio.channels.GatheringByteChannel#write(ByteBuffer[], int, int)及亞序列行為的更多資訊,請參見java.nio.channels.GatheringByteChannel。
根據 SSLEngine 的狀態,此方法可能在不消耗任何應用資料的情況下產生網路資料(例如,它可能產生握手資料)。
應用程式負責可靠地將網路資料傳送給對等端,並確保多次呼叫 wrap() 所產生的資料,依其產生順序傳輸。 應用程式必須正確同步多次呼叫至此方法。
如果尚未 SSLEngine 開始初始握手,此方法將自動啟動握手。
此方法會嘗試產生 SSL/TLS 記錄,並會消耗盡可能多的原始資料,但絕不會消耗超過每個緩衝區中剩餘位元組的總和。 每個 ByteBuffer的位置都會更新,以反映消耗或產生的資料量。 限制依然不變。
與 s 所使用的srcsdst ByteBuffer底層記憶體不能相同。
有關引擎閉合的更多資訊,請參閱車級說明。
Java 文件 javax.net.ssl.SSLEngine.wrap(java.nio.ByteBuffer[], int, int, java.nio.ByteBuffer)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。