public abstract class SNIServerName extends Object
SNI扩展是一个功能扩展SSL / TLS协议说明服务器名称的客户端试图连接在握手。参见3节,“服务器名称指示”,对TLS Extensions (RFC 6066)。
SNIServerName
对象是不可变的。子类不应该提供方法,它可以改变一个实例的状态,一旦它被创建。
SSLParameters.getServerNames()
,
SSLParameters.setServerNames(List)
Modifier | Constructor and Description |
---|---|
protected |
SNIServerName(int type, byte[] encoded)
创建使用指定名称类型的
SNIServerName 编码值。
|
protected SNIServerName(int type, byte[] encoded)
SNIServerName
编码值。
需要注意的是,克隆以防止后续修改的encoded
字节数组。
type
-服务器名称类型
encoded
-服务器名称编码的值
IllegalArgumentException
-如果
type
不在0到255的范围内,包容。
NullPointerException
-如果
encoded
是空的
public final int getType()
public final byte[] getEncoded()
public boolean equals(Object other)
equals
方法重写,继承类
Object
other
-参考对象的比较。
other
是该对象的一类,具有相同名称的类型和编码的值作为此服务器名称。
Object.hashCode()
,
HashMap
public int hashCode()
使用该服务器名称的名称类型和编码值生成哈希代码值。
hashCode
方法重写,继承类
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public String toString()
SNIServerName
对象。
表示的确切细节是不确定的,并有变化,但下面的可能被视为典型的:
“键入= <名称类型> ,值= <名称值> ” 名称值> 名称类型>
在这个类中,“ <名称类型> ”的格式是“[字](整数)”,其中可选的“文本”是字面值,而整数是名称类型的整数。格式“ <名称> ”“XX:…:XX”,“XX”是一个字节的十六进制数字表示的值。例如,伪服务器名称的返回值可能看起来像: 名称> 名称类型>
“类型=(31),值= 77:77:77:2e:65:78:61:6d:70:6c:65:2e:63:6e”或
“类型= host_name(0),值= 77:77:77:2e:65:78:61:6d:70:6c:65:2e:63:6e”
请注意,表示的确切细节是未指定的,并可能会改变,子类可以重写自己的格式的方法。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.