クラスSSLEngineResult

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オペレーションのハンドシェーク状態を取得します。
    このSSLEngineオペレーションの戻り値を取得します。
    final long
    生成または使用されたSSL/TLS/DTLSレコード(オプションの操作)のシーケンス番号を返します。
    このオブジェクトの文字列表現を返します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • SSLEngineResult

      public SSLEngineResult(SSLEngineResult.Status status, SSLEngineResult.HandshakeStatus handshakeStatus, int bytesConsumed, int bytesProduced)
      このクラスの新しいインスタンスを初期化します。
      パラメータ:
      status - このオペレーションの戻り値。
      handshakeStatus - 現在のハンドシェーク状態。
      bytesConsumed - ソースのByteBufferから使用されたバイト数
      bytesProduced - 宛先ByteBufferに書き出されたバイト数
      スロー:
      IllegalArgumentException - statushandshakeStatusのいずれかの引数がnullの場合、またはbytesConsumedbytesProducedが負の値の場合。
    • 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 - statushandshakeStatusのいずれかの引数がnullの場合、またはbytesConsumedbytesProducedが負の値の場合
      導入されたバージョン:
      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
      関連項目:
    • toString

      public String toString()
      このオブジェクトの文字列表現を返します。
      オーバーライド:
      toString、クラスObject
      戻り値:
      このオブジェクトの文字列表現