モジュール java.base
パッケージ javax.net.ssl

クラスSSLEngineResult

java.lang.Object
javax.net.ssl.SSLEngineResult

public class SSLEngineResult extends Object
SSLEngine入出力呼出しによって生成された結果状態のカプセル化。

SSLEngineは、2つのピア間でセキュアな通信セッションを確立するための手段を提供します。 SSLEngineオペレーションは通常、入力バッファのバイトを使用し、出力バッファへバイトを書き出します。 このクラスは、オペレーションの結果を示す値を提供します。この値は、現行のハンドシェークを完了するために必要なオペレーションの指定を含めて、SSLEngineの状態を説明します。 このクラスは、最後に、このオペレーションの結果として、使用されたバイト数と書き出されたバイト数を報告します。

導入されたバージョン:
1.5
関連項目:
  • コンストラクタの詳細

    • 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
      戻り値:
      このオブジェクトの文字列表現