public abstract class SNIServerName extends Object
The SNI extension is a feature that extends the SSL/TLS 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.
SSLParameters.getServerNames() ,
SSLParameters.setServerNames(List)
| Modifier | Constructor and Description |
|---|---|
protected |
SNIServerName(int type, byte[] encoded)
Creates an
SNIServerName using the specified name type and encoded value.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object
Indicates whether some other object is "equal to" this server name.
|
byte[] |
getEncoded()
Returns a copy of the encoded server name value of this server name.
|
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 name
encoded - the encoded value of the server name
IllegalArgumentException - if
type is not in the range of 0 to 255, inclusive.
NullPointerException - if
encoded is null
public final int getType()
public final byte[] getEncoded()
public boolean equals(Objectother)
equals in class
Object
other - the reference object with which to compare.
other is of the same class of this object, and has the same name type and encoded value as this server name.
Object.hashCode() ,
HashMap
public int hashCode()
The hash code value is generated using the name type and encoded value of this server name.
hashCode in class
Object
Object.equals(java.lang.Object) ,
System.identityHashCode(java.lang.Object)
public StringtoString()
SNIServerName object.
The exact details of the representation are unspecified and subject to change, but the following may be regarded as typical:
"type=
, value=
"
In this class, the format of "
"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.