Класс SNIServerName
- java.lang.Object
-
- javax.net.ssl.SNIServerName
- Прямые известные подклассы:
SNIHostName
public abstract class SNIServerName extends Object
Экземпляры этого класса представляют имя сервера в расширении Server Name Indication (SNI).
Расширение SNI — это функция, которая расширяет протоколы SSL/TLS/DTLS, чтобы указать имя сервера, к которому клиент пытается подключиться во время рукопожатия. См. раздел 3 «Указание имени сервера» в 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>"
В этом классе формат «<тип имени>» — это «[ЛИТЕРАЛ] (ЦЕЛОЕ ЧИСЛО)», где необязательный «ЛИТЕРАЛ» — это буквальное имя, а ЦЕЛОЕ ЧИСЛО — целое значение типа имени. Формат «<значение имени>» — это «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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/javax/net/ssl/SNIServerName.html