java.lang.Object
javax.net.ssl.SNIServerName
- 直接已知的子类:
-
SNIHostName
该类的实例表示Server Name Indication(SNI)扩展中的服务器名称。
SNI扩展是一项功能,扩展了SSL/TLS/DTLS协议,用于在握手期间指示客户端尝试连接的服务器名称。请参阅TLS扩展(RFC 6066)的第3节“Server Name Indication”。
SNIServerName
对象是不可变的。子类不应提供可以在创建后更改实例状态的方法。
- 自 JDK 版本:
- 1.8
- 另请参阅:
-
Constructor Summary
ModifierConstructorDescriptionprotected
SNIServerName
(int type, byte[] encoded) 使用指定的名称类型和编码值创建一个SNIServerName
。 -
Method Summary
-
Constructor Details
-
SNIServerName
protected SNIServerName(int type, byte[] encoded) 使用指定的名称类型和编码值创建一个SNIServerName
。请注意,
encoded
字节数组会被克隆,以防止后续修改。- 参数:
-
type
- 服务器名称的类型 -
encoded
- 服务器名称的编码值 - 抛出:
-
IllegalArgumentException
- 如果type
不在0到255的范围内(包括0和255) -
NullPointerException
- 如果encoded
为null
-
-
Method Details
-
getType
public final int getType()返回此服务器名称的名称类型。- 返回:
- 此服务器名称的名称类型
-
getEncoded
public final byte[] getEncoded()返回此服务器名称的编码服务器名称值的副本。- 返回:
- 此服务器名称的编码服务器名称值的副本
-
equals
指示某个其他对象是否与此服务器名称“相等”。 -
hashCode
public int hashCode()返回此服务器名称的哈希码值。哈希码值是使用此服务器名称的名称类型和编码值生成的。
-
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"
请注意,表示的确切细节未指定且可能会更改,子类可能会使用自己的格式覆盖该方法。
-