模块  java.base
软件包  javax.net.ssl

Class 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
      • 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" 

        请注意,表示的确切细节未指定且可能会更改,子类可能会使用自己的格式覆盖该方法。

        重写:
        toString在类 Object
        结果
        a string representation of this server name