モジュール java.security.jgss

クラスKerberosPrincipal

java.lang.Object
javax.security.auth.kerberos.KerberosPrincipal
すべての実装されたインタフェース:
Serializable, Principal

public final class KerberosPrincipal
extends Object
implements Principal, Serializable
このクラスはKerberos主体をカプセル化します。
導入されたバージョン:
1.4
関連項目:
直列化された形式
  • フィールドのサマリー

    フィールド 
    修飾子と型 フィールド 説明
    static int KRB_NT_ENTERPRISE
    企業名(alias)
    static int KRB_NT_PRINCIPAL
    ユーザー主体の名前タイプです。
    static int KRB_NT_SRV_HST
    ホスト名をインスタンスとしているサービス(telnet、rcommands)の名前タイプです。
    static int KRB_NT_SRV_INST
    サービスとほかの固有インスタンス(krbtgt)の名前タイプです。
    static int KRB_NT_SRV_XHST
    ホストを残りのコンポーネントとしているサービスの名前タイプです。
    static int KRB_NT_UID
    一意のID名前タイプです。
    static int KRB_NT_UNKNOWN
    不明な名前タイプです。
  • コンストラクタのサマリー

    コンストラクタ 
    コンストラクタ 説明
    KerberosPrincipal​(String name)
    指定された文字列入力からKerberosPrincipalを構築します。
    KerberosPrincipal​(String name, int nameType)
    指定された文字列と名前型入力からKerberosPrincipalを構築します。
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    boolean equals​(Object other)
    指定されたオブジェクトとこのプリンシパルが等しいかどうかを比較します。
    String getName()
    返される文字列は、RFC 1964のセクション2.1で指定されているKerberos Principal名の単一文字列表現に対応します。
    int getNameType()
    KerberosPrincipalの名前の型を返します。
    String getRealm()
    このKerberos主体のレルム・コンポーネントを返します。
    int hashCode()
    このKerberosPrincipalのハッシュ・コードを返します。
    String toString()
    このKerberosPrincipalの有益なテキスト表現を返します。

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

    clonefinalizegetClassnotifynotifyAllwaitwaitwait

    インタフェース java.security.Principalで宣言されたメソッド

    implies
  • フィールド詳細

  • コンストラクタの詳細

    • KerberosPrincipal

      public KerberosPrincipal​(String name)
      指定された文字列入力からKerberosPrincipalを構築します。 この主体の名前タイプはデフォルトでKRB_NT_PRINCIPALになります。この文字列は、セクション2.1.1 (Kerberos Principal Name Form) (RFC 1964)で規定された形式の名前を含むものとみなされます(例: duke@FOO.COM。ここでdukeは主体を、FOO.COMはレルムを表す)。

      入力した名前にレルムが含まれない場合は、デフォルトのレルムが使用されます。 デフォルト・レルムは、Kerberos構成ファイルまたはシステム・プロパティのいずれかで指定できます。 詳細は、「Kerberosの要件」を参照してください。

      このクラスまたはその他のKerberos関連クラスが最初にロードされて初期化されるときには、デフォルトのレルムをKerberos構成ファイルから、またはjava.security.krb5.realmシステム・プロパティ(デフォルト・レルムが指定されていない場合、値は空になります)を介して読み取り、キャッシュできます。java.security.krb5.realmシステム・プロパティを設定してデフォルト・レルムを設定または変更する後続のコールは無視されることがあります。

      また、セキュリティ・マネージャがインストールされる場合は、ServicePermissionが付与され、権限のサービス・プリンシパルがKerberosPrincipalのレルム内に最低限必要です。 たとえば、new KerberosPrincipal("user")の結果がuser@EXAMPLE.COMである場合、サービス主体host/www.example.com@EXAMPLE.COM (および任意のアクション)を持つServicePermissionを付与する必要があります。

      パラメータ:
      name - 主体名
      例外:
      IllegalArgumentException - 名前の形式が正しくない場合、名前がnullの場合、または名前に使用できるレルムが含まれず、かつデフォルトのレルムがKerberos構成ファイルでもjava.security.krb5.realmシステム・プロパティでも指定されていない場合。
      SecurityException - セキュリティ・マネージャがインストールされていて、nameに使用するレルムが含まれておらず、上記の適切なServicePermissionが付与されていない場合。
    • KerberosPrincipal

      public KerberosPrincipal​(String name, int nameType)
      指定された文字列と名前型入力からKerberosPrincipalを構築します。 この文字列はRFC 1964のセクション2.1 (「Mandatory Name Forms」)で指定された形式の名前を含むものとみなされます。 有効な名前タイプは、RFC 4120のセクション6.2 (「Principal Names」)で定義されています。 入力名は指定された名前タイプと整合性が取れている必要があります。たとえば、duke@FOO.COMは名前タイプKRB_NT_PRINCIPALで有効な入力文字列です。ここでdukeは主体、FOO.COMはレルムを表します。

      入力した名前にレルムが含まれない場合は、デフォルトのレルムが使用されます。 デフォルト・レルムは、Kerberos構成ファイルまたはシステム・プロパティのいずれかで指定できます。 詳細は、「Kerberosの要件」を参照してください。

      このクラスまたはその他のKerberos関連クラスが最初にロードされて初期化されるときには、デフォルトのレルムをKerberos構成ファイルから、またはjava.security.krb5.realmシステム・プロパティ(デフォルト・レルムが指定されていない場合、値は空になります)を介して読み取り、キャッシュできます。java.security.krb5.realmシステム・プロパティを設定してデフォルト・レルムを設定または変更する後続のコールは無視されることがあります。

      また、セキュリティ・マネージャがインストールされる場合は、ServicePermissionが付与され、権限のサービス・プリンシパルがKerberosPrincipalのレルム内に最低限必要です。 たとえば、new KerberosPrincipal("user")の結果がuser@EXAMPLE.COMである場合、サービス主体host/www.example.com@EXAMPLE.COM (および任意のアクション)を持つServicePermissionを付与する必要があります。

      パラメータ:
      name - 主体名
      nameType - 主体の名前タイプ
      例外:
      IllegalArgumentException - 名前の形式が正しくない場合、名前がnullの場合、nameTypeがサポートされていない場合、または名前に使用できるレルムが含まれず、かつデフォルトのレルムがKerberos構成ファイルでもjava.security.krb5.realmシステム・プロパティでも指定されていない場合。
      SecurityException - セキュリティ・マネージャがインストールされていて、nameに使用するレルムが含まれておらず、上記の適切なServicePermissionが付与されていない場合。
  • メソッドの詳細

    • getRealm

      public String getRealm()
      このKerberos主体のレルム・コンポーネントを返します。
      戻り値:
      このKerberos主体のレルム・コンポーネント。
    • hashCode

      public int hashCode()
      このKerberosPrincipalのハッシュ・コードを返します。 ハッシュ・コードは、次の計算の結果として定義されます。
      
        hashCode = getName().hashCode();
       
      定義:
      hashCode 、インタフェース: Principal
      オーバーライド:
      hashCode 、クラス:  Object
      戻り値:
      このKerberosPrincipalのハッシュ・コード。
      関連項目:
      Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
    • equals

      public boolean equals​(Object other)
      指定されたオブジェクトとこのプリンシパルが等しいかどうかを比較します。 指定されたオブジェクトがKerberosPrincipalであり、2つのKerberosPrincipalインスタンスが等価である場合、trueを返します。 より正確には、getName()で返される値が等しい場合、2つのKerberosPrincipalインスタンスは等しくなります。
      定義:
      equals 、インタフェース: Principal
      オーバーライド:
      equals 、クラス:  Object
      パラメータ:
      other - 比較するオブジェクト
      戻り値:
      渡されたオブジェクトがこのプリンシパルと同じ主体を表す場合はtrue、そうでない場合はfalse。
      関連項目:
      Object.hashCode()HashMap
    • getName

      public String getName()
      返される文字列は、RFC 1964のセクション2.1で指定されているKerberos Principal名の単一文字列表現に対応します。
      定義:
      getName 、インタフェース: Principal
      戻り値:
      主体名。
    • getNameType

      public int getNameType()
      KerberosPrincipalの名前の型を返します。 有効な名前タイプは、RFC4120のセクション6.2で指定されています。
      戻り値:
      名前タイプ。
    • toString

      public String toString()
      このKerberosPrincipalの有益なテキスト表現を返します。
      定義:
      toString 、インタフェース: Principal
      オーバーライド:
      toString 、クラス:  Object
      戻り値:
      このKerberosPrincipalの有益なテキスト表現です。