Module  java.base
软件包  javax.net.ssl

Class 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)
        指示某个其他对象是否等于此服务器名称。
        重写:
        equalsObject
        参数
        other - 与之比较的参考对象。
        结果
        如果且仅当 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" 

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

        重写:
        toStringObject
        结果
        a string representation of this server name