モジュール java.base
パッケージ javax.net.ssl

クラスSNIServerName

java.lang.Object
javax.net.ssl.SNIServerName
直系の既知のサブクラス:
SNIHostName

public abstract class SNIServerName
extends Object
このクラスのインスタンスは、Server Name Indication (SNI)拡張のサーバー名を表します。

SNI拡張機能は、SSL/TLS/DTLSプロトコルを拡張して、ハンドシェイク中にクライアントが接続しようとしているサーバー名を示す機能です。 TLS拡張(RFC 6066)のセクション3「Server Name Indication」を参照してください。

SNIServerNameオブジェクトは不変です。 サブクラスは、一度作成されたインスタンスの状態を変更できるメソッドの提供は実行できません。

導入されたバージョン:
1.8
関連項目:
SSLParameters.getServerNames(), SSLParameters.setServerNames(List)
  • コンストラクタのサマリー

    コンストラクタ 
    修飾子 コンストラクタ 説明
    protected SNIServerName​(int type, byte[] encoded)
    指定された名前タイプとエンコードされた値を使用してSNIServerNameを作成します。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    boolean equals​(Object other)
    このサーバー名と他のオブジェクトが等しいかどうかを示します。
    byte[] getEncoded()
    このサーバー名のエンコードされたサーバー名の値のコピーを返します。
    int getType()
    このサーバー名の名前タイプを返します。
    int hashCode()
    このサーバー名のハッシュ・コード値を返します。
    String toString()
    このサーバー名の文字列表現(このSNIServerNameオブジェクトのサーバー名タイプとエンコードされたサーバー名の値を含む)を返します。

    クラス java.lang.Objectで宣言されたメソッド

    clonefinalizegetClassnotifynotifyAllwaitwaitwait
  • コンストラクタの詳細

    • SNIServerName

      protected SNIServerName​(int type, byte[] encoded)
      指定された名前タイプとエンコードされた値を使用してSNIServerNameを作成します。

      以降の変更から保護するために、encodedバイト配列のクローンが作成されます。

      パラメータ:
      type - サーバー名のタイプ
      encoded - サーバー名のエンコードされた値
      例外:
      IllegalArgumentException - typeが0 - 255 (両端を含む)の範囲に含まれていない場合。
      NullPointerException - encodedがnullの場合
  • メソッドの詳細

    • 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」は1バイト値の16進数表現)。 たとえば、ある擬似的なサーバー名の戻り値は次のようになります。

           "type=(31), value=77:77:77:2E:65:78:61:6D:70:6C:65:2E:63:6E"
       
      or
           "type=host_name (0), value=77:77:77:2E:65:78:61:6D:70:6C:65:2E:63:6E"
       

      この表現の厳密な詳細は未指定であり変更される可能性があるほか、サブクラスで独自の形式を使用してメソッドがオーバーライドされる可能性もあります。

      オーバーライド:
      toString 、クラス:  Object
      戻り値:
      このサーバー名の文字列表現