Module java.base
Package javax.net.ssl

Class SSLEngineResult

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

public class SSLEngineResult extends Object
封装了SSLEngine I/O调用产生的结果状态。

SSLEngine提供了一种在两个对等方之间建立安全通信会话的方式。SSLEngine操作通常从输入缓冲区消耗字节并在输出缓冲区中产生字节。该类提供了描述SSLEngine状态的操作结果值,包括指示需要完成正在进行的握手的操作。最后,它报告由于此操作而消耗和产生的字节数。

自版本:
1.5
参见:
  • Constructor Details

    • 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记录的序列号(无符号长整型),如果没有记录产生或消耗,则为-1L
      抛出:
      IllegalArgumentException - 如果statushandshakeStatus参数为null,或者bytesConsumedbytesProduced为负数
      自版本:
      9
  • Method Details

    • 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注释:
      请注意,序列号是无符号长整型,不能超过-1L。建议使用无符号长整型比较模式来比较无符号长整型值(另请参见Long.compareUnsigned())。

      对于DTLS协议,序列号的前16位是一个计数器值(时期),在每次密码状态更改时递增。序列号右侧的剩余48位表示记录的序列,对于每个时期都单独维护。

      实现注释:
      建议提供程序永远不要允许序列号增加到-1L。如果序列号接近包装,应请求重新协商,否则应立即关闭连接。这应该由底层实现自动执行。
      返回:
      产生或消耗的SSL/TLS/DTLS记录的序列号;如果没有记录产生或消耗,或者底层提供程序不支持此操作,则为-1L
      自版本:
      9
      参见:
    • toString

      public String toString()
      返回此对象的字符串表示形式。
      覆盖:
      toString 在类 Object
      返回:
      对象的字符串表示形式。