Module  java.base
软件包  javax.net.ssl

Class SSLEngineResult



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

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

    从以下版本开始:
    1.5
    另请参见:
    SSLEngineSSLEngine.wrap(ByteBuffer, ByteBuffer)SSLEngine.unwrap(ByteBuffer, ByteBuffer)
    • 构造方法详细信息

      • 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操作的返回值。
        结果
        返回值
      • bytesConsumed

        public final int bytesConsumed​()
        返回从输入缓冲区消耗的字节数。
        结果
        消耗的字节数。
      • bytesProduced

        public final int bytesProduced​()
        返回写入输出缓冲区的字节数。
        结果
        生成的字节数
      • sequenceNumber

        public final long sequenceNumber​()
        返回生成或消费的SSL / TLS / DTLS记录的序列号(可选操作)。
        API Note:
        请注意,序列号为无符号长,不能超过-1L 希望使用无符号长比较模式来比较无符号长值(另见Long.compareUnsigned() )。

        对于DTLS协议,序列号的前16位是在每个密码状态改变时增加的计数器值(历元)。 序列号右侧剩余的48位表示记录的顺序,这是为每个历元分别维护的。

        Implementation Note:
        建议提供者不要让序列号增加到-1L 如果序列号接近包装,应重新协商,否则应立即关闭连接。 这应该由底层实现自动进行。
        结果
        生成或消费的SSL / TLS / DTLS记录的序列号; 或$ -1L如果没有记录生产或消费,或该操作不支持底层提供商
        从以下版本开始:
        9
        另请参见:
        Long.compareUnsigned(long, long)
      • toString

        public String toString​()
        返回此对象的String表示形式。
        重写:
        toStringObject
        结果
        对象的字符串表示形式。