Класс SNIServerName
- java.lang.Object
-
- javax.net.ssl.SNIServerName
- Прямые известные подклассы:
- SNIHostName
public abstract class SNIServerName extends Object
Экземпляры этого класса представляют имя сервера в расширении Server Name Indication (SNI).
Расширение SNI — это функция, которая расширяет протоколы SSL/TLS, чтобы указать, к какому имени сервера клиент пытается подключиться во время рукопожатия. См. раздел 3 «Server Name Indication» документа TLS Extensions (RFC 6066).
Объекты SNIServerName являются неизменяемыми. Подклассы не должны предоставлять методы, которые могут изменить состояние экземпляра после его создания.
- С:
- 1.8
- См. также:
-
SSLParameters.getServerNames(),SSLParameters.setServerNames(List)
Конструкторы
| Модификатор | Конструктор и описание |
|---|---|
protected |
SNIServerName(int type,
byte[] encoded) Создаёт |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
boolean |
equals(Object other) Указывает, является ли другой объект "равным" этому имени сервера. |
byte[] |
getEncoded() Возвращает копию закодированного значения имени сервера для этого имени сервера. |
int |
getType() Возвращает тип имени этого сервера. |
int |
hashCode() Возвращает значение хэш-кода для этого имени сервера. |
String |
toString() Возвращает строковое представление этого имени сервера, включая тип имени сервера и закодированное значение имени сервера в этом |
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Конструкторы
SNIServerName
protected SNIServerName(int type,
byte[] encoded) Создаёт SNIServerName с указанным типом имени и закодированным значением.
Обратите внимание, что массив байтов encoded клонируется для защиты от последующего изменения.
- Параметры:
-
type- тип имени сервера -
encoded- закодированное значение имени сервера - Исключения:
-
IllegalArgumentException- еслиtypeне находится в диапазоне от 0 до 255 включительно. -
NullPointerException- еслиencodedравно null
Методы
getType
public final int getType()
Возвращает тип имени этого сервера.
- Возвращает:
- тип имени этого сервера
getEncoded
public final byte[] getEncoded()
Возвращает копию закодированного значения имени сервера для этого имени сервера.
- Возвращает:
- копию закодированного значения имени сервера для этого имени сервера
equals
public boolean equals(Object other)
Указывает, является ли другой объект "равным" этому имени сервера.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
other- объект-ссылка для сравнения. - Возвращает:
- true, если и только если
otherпринадлежит тому же классу, что и этот объект, и имеет тот же тип имени и закодированное значение, что и этот сервер. - См. также:
-
Object.hashCode(),HashMap
hashCode
public int hashCode()
Возвращает значение хэш-кода для этого имени сервера.
Значение хэш-кода генерируется с использованием типа имени и закодированного значения этого имени сервера.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение хэш-кода для этого имени сервера.
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
toString
public String toString()
Возвращает строковое представление этого имени сервера, включая тип имени сервера и закодированное значение имени сервера в этом SNIServerName объекте.
Точные детали представления не определены и могут измениться, но следующее можно считать типичным:
"type= <name type>, value= <name value>"
В этом классе формат "<тип имени>" — "[LITERAL] (INTEGER)", где необязательный «LITERAL» — буквальное имя, а INTEGER — целое значение типа имени. Формат "<значение имени>" — "XX:...:XX", где «XX» — шестнадцатеричное представление значения байта. Например, возвращаемое значение псевдоимени сервера может выглядеть так:
"type=(31), value=77:77:77:2E:65:78:61:6D:70:6C:65:2E:63:6E"или
"type=host_name (0), value=77:77:77:2E:65:78:61:6D:70:6C:65:2E:63:6E"
Обратите внимание, что точные детали представления не определены и могут измениться, и подклассы могут переопределить метод с помощью своих собственных форматов.
© 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.