モジュール java.base
パッケージ 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オブジェクトのサーバー名タイプとエンコードされたサーバー名の値を含む)を返します。
    • コンストラクタの詳細

      • 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"
         
        または
             "type=host_name (0), value=77:77:77:2E:65:78:61:6D:70:6C:65:2E:63:6E"
         

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

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