java.lang.Object
javax.net.ssl.SSLEngineResult
public class SSLEngineResult extends Object
SSLEngine
入出力呼出しによって生成された結果状態のカプセル化。
SSLEngine
は、2つのピア間でセキュアな通信セッションを確立するための手段を提供します。 SSLEngine
オペレーションは通常、入力バッファのバイトを使用し、出力バッファへバイトを書き出します。 このクラスは、オペレーションの結果を示す値を提供します。この値は、現行のハンドシェークを完了するために必要なオペレーションの指定を含めて、SSLEngine
の状態を説明します。 このクラスは、最後に、このオペレーションの結果として、使用されたバイト数と書き出されたバイト数を報告します。
- 導入されたバージョン:
- 1.5
- 関連項目:
SSLEngine
,SSLEngine.wrap(ByteBuffer, ByteBuffer)
,SSLEngine.unwrap(ByteBuffer, ByteBuffer)
-
ネストされたクラスのサマリー
修飾子と型クラス説明static class
このSSLEngine
の現在のハンドシェーク状態を説明するSSLEngineResult
の列挙型。static class
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)
このクラスの新しいインスタンスを初期化します。 -
メソッドのサマリー
修飾子と型メソッド説明int
入力バッファから使用されたバイト数を返します。int
出力バッファへ書き込まれたバイト数を返します。このSSLEngine
オペレーションのハンドシェーク状態を取得します。このSSLEngine
オペレーションの戻り値を取得します。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
public final SSLEngineResult.Status getStatus()このSSLEngine
オペレーションの戻り値を取得します。- 戻り値:
- 戻り値
-
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
- 関連項目:
Long.compareUnsigned(long, long)
-
toString
public String toString()このオブジェクトの文字列表現を返します。
-