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