java.lang.Object
javax.net.ssl.SSLEngineResult
public class SSLEngineResult extends Object
SSLEngine
入出力呼出しによって生成された結果状態のカプセル化。
SSLEngine
は、2つのピア間でセキュアな通信セッションを確立するための手段を提供します。 SSLEngine
オペレーションは通常、入力バッファのバイトを使用し、出力バッファへバイトを書き出します。 このクラスは、オペレーションの結果を示す値を提供します。この値は、現行のハンドシェークを完了するために必要なオペレーションの指定を含めて、SSLEngine
の状態を説明します。 このクラスは、最後に、このオペレーションの結果として、使用されたバイト数と書き出されたバイト数を報告します。
- 導入されたバージョン:
- 1.5
- 関連項目:
-
ネストされたクラスのサマリー
ネストされたクラス修飾子と型クラス説明static enum
このSSLEngine
の現在のハンドシェーク状態を説明するSSLEngineResult
の列挙型。static enum
SSLEngine
オペレーションの全体的な結果を説明するSSLEngineResult
の列挙型。 -
コンストラクタのサマリー
コンストラクタコンストラクタ説明SSLEngineResult
(SSLEngineResult.Status status, SSLEngineResult.HandshakeStatus handshakeStatus, int bytesConsumed, int bytesProduced) このクラスの新しいインスタンスを初期化します。SSLEngineResult
(SSLEngineResult.Status status, SSLEngineResult.HandshakeStatus handshakeStatus, int bytesConsumed, int bytesProduced, long sequenceNumber) このクラスの新しいインスタンスを初期化します。 -
メソッドのサマリー
修飾子と型メソッド説明final int
入力バッファから使用されたバイト数を返します。final int
出力バッファへ書き込まれたバイト数を返します。このSSLEngine
オペレーションのハンドシェーク状態を取得します。final SSLEngineResult.Status
このSSLEngine
オペレーションの戻り値を取得します。final long
生成または使用されたSSL/TLS/DTLSレコード(オプションの操作)のシーケンス番号を返します。toString()
このオブジェクトの文字列表現を返します。
-
コンストラクタの詳細
-
SSLEngineResult
public SSLEngineResult(SSLEngineResult.Status status, SSLEngineResult.HandshakeStatus handshakeStatus, int bytesConsumed, int bytesProduced) このクラスの新しいインスタンスを初期化します。- パラメータ:
status
- このオペレーションの戻り値。handshakeStatus
- 現在のハンドシェーク状態。bytesConsumed
- ソースのByteBufferから使用されたバイト数bytesProduced
- 宛先ByteBufferに書き出されたバイト数- 例外:
IllegalArgumentException
-status
かhandshakeStatus
のいずれかの引数がnullの場合、またはbytesConsumed
かbytesProduced
が負の値の場合。
-
SSLEngineResult
public SSLEngineResult(SSLEngineResult.Status status, SSLEngineResult.HandshakeStatus handshakeStatus, int bytesConsumed, int bytesProduced, long sequenceNumber) このクラスの新しいインスタンスを初期化します。- パラメータ:
status
- このオペレーションの戻り値。handshakeStatus
- 現在のハンドシェーク状態。bytesConsumed
- ソースのByteBufferから使用されたバイト数bytesProduced
- 宛先ByteBufferに書き出されたバイト数sequenceNumber
- 生成または消費されたSSL/TLS/DTLSレコードの順序番号(符号なしlong)、または生成または消費されたレコードがない場合は-1L
- 例外:
IllegalArgumentException
-status
かhandshakeStatus
のいずれかの引数がnullの場合、またはbytesConsumed
かbytesProduced
が負の値の場合- 導入されたバージョン:
- 9
-
-
メソッドの詳細
-
getStatus
-
getHandshakeStatus
public final SSLEngineResult.HandshakeStatus getHandshakeStatus()このSSLEngine
オペレーションのハンドシェーク状態を取得します。- 戻り値:
- ハンドシェーク状態
-
bytesConsumed
public final int bytesConsumed()入力バッファから使用されたバイト数を返します。- 戻り値:
- 使用されたバイト数。
-
bytesProduced
public final int bytesProduced()出力バッファへ書き込まれたバイト数を返します。- 戻り値:
- 書き込まれたバイト数
-
sequenceNumber
public final long sequenceNumber()生成または使用されたSSL/TLS/DTLSレコード(オプションの操作)のシーケンス番号を返します。- APIのノート:
- シーケンス番号は符号なしlongであり、
-1L
を超えることはできません。 符号なしlong値(Long.compareUnsigned()
も参照してください)の比較には、符号なしlong比較モードを使用することが望まれます。DTLSプロトコルの場合、順序番号の最初の16ビットは、暗号状態の変更ごとに増分されるカウンタ値(epoch)です。 シーケンス番号の右側にある残りの48ビットは、レコードのシーケンスを表し、エポックごとに個別に維持されます。
- 実装上のノート:
- プロバイダは、シーケンス番号を
-1L
に増やしてはいけません。 シーケンス番号がラッピングに近い場合は、再ネゴシエーションをリクエストしてください。そうしないと、接続をただちに閉じます。 これは、基礎となる実装によって自動的に実行されます。 - 戻り値:
- 生成または使用されたSSL/TLS/DTLSレコードのシーケンス番号。レコードが生成または使用されないか、またはこの操作が基本プロバイダによってサポートされていない場合は
-1L
- 導入されたバージョン:
- 9
- 関連項目:
-
toString
-