Класс SSLEngineResult

public class SSLEngineResult
extends Object

Оборачивает состояние результата, полученного в результате SSLEngine вызовов ввода/вывода.

SSLEngine предоставляет способ установления защищённых сеансов связи между двумя узлами. SSLEngine операции обычно потребляют байты из буфера ввода и генерируют байты в буфере вывода. Этот класс предоставляет значения результата операций, описывающие состояние SSLEngine, включая указания о необходимых операциях для завершения текущего рукопожатия. Наконец, он сообщает о количестве потреблённых и сгенерированных байтов в результате этой операции.

Since:
1.5
See Also:
SSLEngine, SSLEngine.wrap(ByteBuffer, ByteBuffer), SSLEngine.unwrap(ByteBuffer, ByteBuffer)

Вложенные классы

Модификатор и тип Класс Описание
static class  SSLEngineResult.HandshakeStatus

Перечисление, описывающее текущее состояние рукопожатия этого SSLEngine.

static class  SSLEngineResult.Status

Перечисление, описывающее общий результат SSLEngine операции.

Краткое описание конструкторов

Конструктор Описание
SSLEngineResult​(SSLEngineResult.Status status, SSLEngineResult.HandshakeStatus handshakeStatus, int bytesConsumed, int bytesProduced)

Инициализирует новый экземпляр этого класса.

SSLEngineResult​(SSLEngineResult.Status status, SSLEngineResult.HandshakeStatus handshakeStatus, int bytesConsumed, int bytesProduced, long sequenceNumber)

Инициализирует новый экземпляр этого класса.

Краткое описание методов

Модификатор и тип Метод Описание
int bytesConsumed()

Возвращает количество потреблённых байтов из буфера ввода.

int bytesProduced()

Возвращает количество записанных байтов в буфер вывода.

SSLEngineResult.HandshakeStatus getHandshakeStatus()

Получает состояние рукопожатия этой SSLEngine операции.

SSLEngineResult.Status getStatus()

Получает значение возврата этой SSLEngine операции.

long sequenceNumber()

Возвращает порядковый номер сгенерированного или потреблённого SSL/TLS/DTLS-записи (опциональная операция).

String toString()

Возвращает строковое представление этого объекта.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

SSLEngineResult

public SSLEngineResult(SSLEngineResult.Status status,
                       SSLEngineResult.HandshakeStatus handshakeStatus,
                       int bytesConsumed,
                       int bytesProduced)

Инициализирует новый экземпляр этого класса.

Parameters:
status - значение возврата операции.
handshakeStatus - текущее состояние рукопожатия.
bytesConsumed - количество потреблённых байтов из исходного буфера ByteBuffer.
bytesProduced - количество байтов, помещённых в целевой буфер ByteBuffer.
Throws:
IllegalArgumentException - если аргументы status или handshakeStatus равны null, или если bytesConsumed или bytesProduced отрицательны.

SSLEngineResult

public SSLEngineResult(SSLEngineResult.Status status,
                       SSLEngineResult.HandshakeStatus handshakeStatus,
                       int bytesConsumed,
                       int bytesProduced,
                       long sequenceNumber)

Инициализирует новый экземпляр этого класса.

Parameters:
status - значение возврата операции.
handshakeStatus - текущее состояние рукопожатия.
bytesConsumed - количество потреблённых байтов из исходного буфера ByteBuffer.
bytesProduced - количество байтов, помещённых в целевой буфер ByteBuffer.
sequenceNumber - порядковый номер (целое без знака) сгенерированной или потреблённой SSL/TLS/DTLS-записи, или -1L если запись не сгенерирована или не потреблялась.
Throws:
IllegalArgumentException - если аргументы status или handshakeStatus равны null, или если bytesConsumed или bytesProduced отрицательны.
Since:
9

Подробное описание методов

getStatus

public final SSLEngineResult.Status getStatus()

Получает значение возврата этой SSLEngine операции.

Returns:
значение возврата

getHandshakeStatus

public final SSLEngineResult.HandshakeStatus getHandshakeStatus()

Получает состояние рукопожатия этой SSLEngine операции.

Returns:
состояние рукопожатия

bytesConsumed

public final int bytesConsumed()

Возвращает количество потреблённых байтов из буфера ввода.

Returns:
количество потреблённых байтов.

bytesProduced

public final int bytesProduced()

Возвращает количество записанных байтов в буфер вывода.

Returns:
количество сгенерированных байтов

sequenceNumber

public final long sequenceNumber()

Возвращает порядковый номер сгенерированной или потреблённой SSL/TLS/DTLS-записи (опциональная операция).

API Note:
Обратите внимание, что порядковый номер — целое без знака, и не может превышать -1L. Желательно использовать режим сравнения целых без знака для сравнения целых без знака (см. также Long.compareUnsigned()).

Для протоколов DTLS, первые 16 битов порядкового номера представляют счётчик (эпоху), который увеличивается при каждом изменении состояния шифра. Остальные 48 битов справа от порядкового номера представляют последовательность записи, которая поддерживается отдельно для каждой эпохи.

Implementation Note:
Рекомендуется, чтобы поставщики никогда не допускали увеличения порядкового номера до -1L. Если порядковый номер близок к переполнению, необходимо запросить переподключение, в противном случае соединение следует немедленно закрыть. Это должно выполняться автоматически базовой реализацией.
Returns:
порядковый номер сгенерированной или потреблённой SSL/TLS/DTLS-записи; или -1L если запись не сгенерирована или не потреблялась, или эта операция не поддерживается базовым поставщиком
Since:
9
See Also:
Long.compareUnsigned(long, long)

toString

public String toString()

Возвращает строковое представление этого объекта.

Overrides:
toString в классе Object
Returns:
строковое представление объекта.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/javax/net/ssl/SSLEngineResult.html

Spec-Zone .ru
спецификации, руководства, описания, API