模块 java.base

类 SSLEngineResult

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

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

SSLEngine 提供了一种在两个对等点之间建立安全通信会话的方法。 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 参数为空,或者如果 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 记录的序列号(unsigned long),如果没有记录生成或使用,则为 -1L
      抛出:
      IllegalArgumentException - 如果 statushandshakeStatus 参数为空,或者如果 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 注意:
      请注意,序列号是一个无符号长整数,不能超过 -1L。需要使用 unsigned long 比较模式来比较 unsigned long 值(另请参见 Long.compareUnsigned() )。

      对于 DTLS 协议,序列号的前 16 位是计数器值(纪元),每次密码状态更改时都会递增。 sequence number 右边剩余的 48 bits 代表记录的序列,每个 epoch 单独维护。

      实现注意事项:
      建议提供商绝不允许序列号增加到 -1L 。如果序列号接近环绕,则应请求重新协商,否则应立即关闭连接。这应该由底层实现自动进行。
      返回:
      生成或使用的 SSL/TLS/DTLS 记录的序列号;或 -1L 如果没有记录被生产或消费,或者底层提供者不支持此操作
      自从:
      9
      参见:
    • toString

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