- java.lang.Object
-
- javax.net.ssl.SNIServerName
-
- 已知直接子类:
-
SNIHostName
public abstract class SNIServerName extends Object
此类的实例表示服务器名称指示(SNI)扩展中的服务器名称。SNI扩展是扩展SSL / TLS / DTLS协议的功能,以指示客户端在握手期间尝试连接的服务器名称。 请参阅第3节“服务器名称指示”, TLS Extensions (RFC 6066) 。
SNIServerName
对象是不可变的。 子类不能提供可以在创建实例后更改实例状态的方法。- 从以下版本开始:
- 1.8
- 另请参见:
-
SSLParameters.getServerNames()
,SSLParameters.setServerNames(List)
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
SNIServerName(int type, byte[] encoded)
使用指定的名称类型和编码值创建SNIServerName
。
-
-
-
构造方法详细信息
-
SNIServerName
protected SNIServerName(int type, byte[] encoded)
使用指定的名称类型和编码值创建SNIServerName
。请注意,
encoded
字节数组被克隆以防止后续修改。- 参数
-
type
- 服务器名称的类型 -
encoded
- 服务器名称的编码值 - 异常
-
IllegalArgumentException
- 如果type
不在0到255(含)范围内。 -
NullPointerException
- 如果encoded
为空
-
-
方法详细信息
-
getType
public final int getType()
返回此服务器名称的名称类型。- 结果
- 此服务器名称的名称类型
-
getEncoded
public final byte[] getEncoded()
返回此服务器名称的编码服务器名称值的副本。- 结果
- 该服务器名称的编码服务器名称值的副本
-
equals
public boolean equals(Object other)
指示某个其他对象是否等于此服务器名称。- 重写:
-
equals
在Object
- 参数
-
other
- 与之比较的参考对象。 - 结果
-
如果且仅当
other
与该对象具有相同的类时,other
true,并且具有与该服务器名称相同的名称类型和编码值。 - 另请参见:
-
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>"
在这个类中,“<name type>”的格式是“[LITERAL](INTEGER)”,其中可选的“LITERAL”是文字名称,INTEGER是名称类型的整数值。 “<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"
请注意,表示的确切细节未指定并可能更改,子类可以使用自己的格式覆盖该方法。
-
-