SNIHostName
public abstract class SNIServerName extends Object
The SNI extension is a feature that extends the SSL/TLS/DTLS protocols to indicate what server name the client is attempting to connect to during handshaking. See section 3, "Server Name Indication", of TLS Extensions (RFC 6066).
SNIServerName
objects are immutable. Subclasses should not provide methods that can change the state of an instance once it has been created.
Modifier | Constructor | Description |
---|---|---|
protected |
Creates an SNIServerName using the specified name type and encoded value. |
Modifier and Type | Method | Description |
---|---|---|
boolean |
equals |
Indicates whether some other object is "equal to" this server name. |
final byte[] |
getEncoded() |
Returns a copy of the encoded server name value of this server name. |
final int |
getType() |
Returns the name type of this server name. |
int |
hashCode() |
Returns a hash code value for this server name. |
String |
toString() |
Returns a string representation of this server name, including the server name type and the encoded server name value in this SNIServerName object. |
protected SNIServerName(int type, byte[] encoded)
SNIServerName
using the specified name type and encoded value. Note that the encoded
byte array is cloned to protect against subsequent modification.
type
- the type of the server nameencoded
- the encoded value of the server nameIllegalArgumentException
- if type
is not in the range of 0 to 255, inclusive.NullPointerException
- if encoded
is nullpublic final int getType()
public final byte[] getEncoded()
public boolean equals(Object other)
public int hashCode()
The hash code value is generated using the name type and encoded value of this server name.
public String toString()
SNIServerName
object. The exact details of the representation are unspecified and subject to change, but the following may be regarded as typical:
"type=<name type>, value=<name value>"
In this class, the format of "<name type>" is "[LITERAL] (INTEGER)", where the optional "LITERAL" is the literal name, and INTEGER is the integer value of the name type. The format of "<name value>" is "XX:...:XX", where "XX" is the hexadecimal digit representation of a byte value. For example, a returned value of a pseudo server name may look like:
"type=(31), value=77:77:77:2E:65:78:61:6D:70:6C:65:2E:63:6E"or
"type=host_name (0), value=77:77:77:2E:65:78:61:6D:70:6C:65:2E:63:6E"
Please NOTE that the exact details of the representation are unspecified and subject to change, and subclasses may override the method with their own formats.
© 1993, 2023, 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/21/docs/api/java.base/javax/net/ssl/SNIServerName.html