クラスKerberosTicket

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

public class KerberosTicket extends Object implements Destroyable, Refreshable, Serializable
このクラスは、Kerberosチケットと関連情報をクライアントの観点からカプセル化します。 Key Distribution Center (KDC)がクライアントに送信した、返答メッセージKDC-REP内のすべての情報を取り込みます。KDC-REPはKerberosプロトコル仕様(RFC 4120)で定義されています。

KDCに対してユーザーを認証するすべてのKerberos JAASログイン・モジュールで、このクラスを使用する必要があります。 利用可能な場合、ログイン・モジュールは、KDCと直接通信するのではなくオペレーティング・システムのチケット・キャッシュから、この情報を読み取ることもあります。 JAAS認証プロセスのコミット・フェーズ中に、JAASログイン・モジュールがこのクラスをインスタンス化し、インスタンスをSubjectの非公開資格セットに格納するようにしてください。

このクラスは、チケットを付与するチケットと、そのほかの一般サービス・チケットとの両方に適用可能です。 チケットを付与するチケットは、より一般化されたサービス・チケットの特殊な例にすぎません。

実装上のノート:
JDKリファレンス実装のJAASログイン・モジュールは、ログアウト後にすべてのチケットを破棄します。
導入されたバージョン:
1.4
関連項目:
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    KerberosTicket(byte[] asn1Encoding, KerberosPrincipal client, KerberosPrincipal server, byte[] sessionKey, int keyType, boolean[] flags, Date authTime, Date startTime, Date endTime, Date renewTill, InetAddress[] clientAddresses)
    クライアントがKDCから受信するか、キャッシュから読み取る資格証明情報を使用して、KerberosTicketを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    チケットと、チケットに格納されている重要な情報を破棄します。
    boolean
    equals(Object other)
    指定されたオブジェクトをこのKerberosTicketと比較し、等しいかどうかを確認します。
    final Date
    クライアントが認証された時間を返します。
    このチケットに関連付けられたクライアント主体を返します。
    final InetAddress[]
    このチケットを使用可能なアドレスのリストを返します。
    final byte[]
    チケット全体のASN.1エンコーディングを返します。
    final Date
    このチケットの有効期間の期限切れ時間を返します。
    final boolean[]
    このチケットに関連付けられたフラグを返します。
    final Date
    すべての更新を含む、このチケットの最新の有効期限を返します。
    このチケットに関連付けられたサービス主体を返します。
    final SecretKey
    このチケットに関連付けられたセッション・キーを返します。
    final int
    Kerberosプロトコル仕様で定義された、このチケットに関連付けられたセッション・キーのキー・タイプを返します。
    final Date
    このチケットの有効期間の開始時間を返します。
    int
    このKerberosTicketのハッシュ・コードを返します。
    boolean
    このチケットが最新のままであるかどうかを判定します。
    boolean
    このチケットが破棄されたかどうかを判定します。
    final boolean
    このチケットが転送可能であるかどうかを判定します。
    final boolean
    このチケットが転送されてきたか、認証によって発行されたかどうかを判定します(転送されてきたチケット認可チケットを含む)。
    final boolean
    このチケットがKerberos AS-Exchangeプロトコルを使用して発行されていて、チケット認可チケットを元に発行されていないかどうかを判定します。
    final boolean
    このチケットが事後の日付であるかどうかを判定します。
    final boolean
    このチケットがプロキシ可能であるかどうかを判定します。
    final boolean
    このチケットがプロキシ・チケットであるかどうかを判定します。
    final boolean
    このチケットが更新可能であるかどうかを判定します。
    void
    このチケットの有効期間を延長します。
    このKerberosTicketの有益なテキスト表現を返します。

    クラスオブジェクトで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • KerberosTicket

      public KerberosTicket(byte[] asn1Encoding, KerberosPrincipal client, KerberosPrincipal server, byte[] sessionKey, int keyType, boolean[] flags, Date authTime, Date startTime, Date endTime, Date renewTill, InetAddress[] clientAddresses)
      クライアントがKDCから受信するか、キャッシュから読み取る資格証明情報を使用して、KerberosTicketを構築します。
      パラメータ:
      asn1Encoding - Kerberosプロトコル仕様に定義された、チケットのASN.1エンコーディング。
      client - このサービス・チケットを所有するクライアント
      server - このチケットが使用されるサービス
      sessionKey - サーバーに送信されるオーセンティケータを暗号化するために使用する必要があるセッション・キーのrawバイト
      keyType - Kerberosプロトコル仕様で定義された、セッション・キーのキー・タイプ。
      flags - チケット・フラグ。 この配列の各要素は、チケット・フラグを表すASN.1 BitStringの対応するビットの値を示す。 この配列の要素数がKerberosプロトコルで使用されるフラグの数よりも少ない場合、足りないフラグはfalseになる。
      authTime - クライアントを初期認証した時間
      startTime - チケットが有効になる時間。 authTimeの値がstartTimeとして扱われる場合は、nullも可。
      endTime - チケットが無効になる時間
      renewTill - 可能なすべての更新を含めた、チケットの絶対有効期限。 更新不可能なチケットでは、このフィールドはnullも可。
      clientAddresses - クライアントがチケットを使用できるアドレス。 チケットを任意のアドレスで使用できるとき、このフィールドはnullになる。
  • メソッドの詳細

    • getClient

      public final KerberosPrincipal getClient()
      このチケットに関連付けられたクライアント主体を返します。
      戻り値:
      クライアント・プリンシパル。破棄する場合はnull
    • getServer

      public final KerberosPrincipal getServer()
      このチケットに関連付けられたサービス主体を返します。
      戻り値:
      サービス・プリンシパル。破棄する場合はnull
    • getSessionKey

      public final SecretKey getSessionKey()
      このチケットに関連付けられたセッション・キーを返します。 戻り値は常にEncryptionKeyオブジェクトです。
      戻り値:
      セッション・キー。
      スロー:
      IllegalStateException - このチケットが破棄された場合
    • getSessionKeyType

      public final int getSessionKeyType()
      Kerberosプロトコル仕様で定義された、このチケットに関連付けられたセッション・キーのキー・タイプを返します。
      戻り値:
      このチケットに関連付けられたセッション・キーのキー・タイプ。
      スロー:
      IllegalStateException - このチケットが破棄された場合
      関連項目:
    • isForwardable

      public final boolean isForwardable()
      このチケットが転送可能であるかどうかを判定します。
      戻り値:
      このチケットが転送可能な場合はtrue、転送可能でない場合はfalse。
    • isForwarded

      public final boolean isForwarded()
      このチケットが転送されてきたか、認証によって発行されたかどうかを判定します(転送されてきたチケット認可チケットを含む)。
      戻り値:
      このチケットが転送されたか、転送されたチケット許可チケットを含む認証に基づいて発行された場合はtrue、それ以外の場合はfalse、または破棄されます。
    • isProxiable

      public final boolean isProxiable()
      このチケットがプロキシ可能であるかどうかを判定します。
      戻り値:
      このチケットがプロキシ可能である場合はtrue、プロキシ可能でない場合はfalse。
    • isProxy

      public final boolean isProxy()
      このチケットがプロキシ・チケットであるかどうかを判定します。
      戻り値:
      このチケットがプロキシ・チケットの場合はtrue、プロキシ・チケットでない場合はfalse。
    • isPostdated

      public final boolean isPostdated()
      このチケットが事後の日付であるかどうかを判定します。
      戻り値:
      このチケットが日付を過ぎている場合はtrue、日付を過ぎていない場合はfalse。
    • isRenewable

      public final boolean isRenewable()
      このチケットが更新可能であるかどうかを判定します。 更新可能な場合、更新有効期間が過ぎていないと見なされ、refreshメソッドを呼び出すことができます。
      戻り値:
      このチケットが更新可能な場合はtrue、更新または破棄されない場合はfalse。
    • isInitial

      public final boolean isInitial()
      このチケットがKerberos AS-Exchangeプロトコルを使用して発行されていて、チケット認可チケットを元に発行されていないかどうかを判定します。
      戻り値:
      このチケットがKerberos AS-Exchangeプロトコルを使用して発行された場合はtrue、この方法で発行されたか破棄されていない場合はfalse。
    • getFlags

      public final boolean[] getFlags()
      このチケットに関連付けられたフラグを返します。 返された配列の各要素は、チケット・フラグを表すASN.1 BitStringの対応するビットの値を示します。
      戻り値:
      このチケットに関連付けられているフラグ。破棄する場合はnull
    • getAuthTime

      public final Date getAuthTime()
      クライアントが認証された時間を返します。
      戻り値:
      クライアントが認証された時間。フィールドが設定されていない場合、またはこのチケットが破棄された場合はnull
    • getStartTime

      public final Date getStartTime()
      このチケットの有効期間の開始時間を返します。
      戻り値:
      このチケットの有効期間の開始時間。フィールドが設定されていない場合、またはこのチケットが破棄される場合はnull
    • getEndTime

      public final Date getEndTime()
      このチケットの有効期間の期限切れ時間を返します。
      戻り値:
      このチケットの有効期間の有効期限。破棄する場合はnull
    • getRenewTill

      public final Date getRenewTill()
      すべての更新を含む、このチケットの最新の有効期限を返します。 更新不可能なチケットではnull値が返されます。
      戻り値:
      このチケットの最新の失効時間。破棄する場合はnull
    • getClientAddresses

      public final InetAddress[] getClientAddresses()
      このチケットを使用可能なアドレスのリストを返します。
      戻り値:
      アドレス・リスト。フィールドが指定されなかった場合、またはこのチケットが破棄された場合はnull
    • getEncoded

      public final byte[] getEncoded()
      チケット全体のASN.1エンコーディングを返します。
      戻り値:
      チケット全体のASN.1エンコーディング。 このメソッドが呼び出されるたびに、新しいバイト配列が返されます。
      スロー:
      IllegalStateException - このチケットが破棄された場合
    • isCurrent

      public boolean isCurrent()
      このチケットが最新のままであるかどうかを判定します。
      定義:
      isCurrent、インタフェースRefreshable
      戻り値:
      このチケットがまだ最新の場合はtrue、最新または破棄されていない場合はfalse。
    • refresh

      public void refresh() throws RefreshFailedException
      このチケットの有効期間を延長します。 更新処理に成功すると、チケットに新しいセッション・キーが追加されます。 チケットが更新可能ではない場合や、最後の更新可能な時間が過ぎている場合は、更新処理に失敗します。 KDCからエラーが返された場合も、このメソッドは失敗します。 ノート: このメソッドは、このオブジェクトのアクセサ・メソッドと同期していません。 したがって、呼出し側は、このオブジェクトにアクセスし、更新を試みるスレッドが同時に複数存在する可能性がある点に注意する必要があります。
      定義:
      refresh、インタフェースRefreshable
      スロー:
      IllegalStateException - このチケットが破棄された場合
      RefreshFailedException - チケットが更新可能ではない場合、最後の更新可能な時間が過ぎている場合、またはKDCがエラーを返す場合。
      関連項目:
    • destroy

      public void destroy() throws DestroyFailedException
      チケットと、チケットに格納されている重要な情報を破棄します。
      定義:
      destroy、インタフェースDestroyable
      スロー:
      DestroyFailedException - 破棄処理が失敗した場合。
    • isDestroyed

      public boolean isDestroyed()
      このチケットが破棄されたかどうかを判定します。
      定義:
      isDestroyed、インタフェースDestroyable
      戻り値:
      このObjectが破棄された場合はtrue、そうでない場合はfalse。
    • toString

      public String toString()
      このKerberosTicketの有益なテキスト表現を返します。
      オーバーライド:
      toString、クラスObject
      戻り値:
      このKerberosTicketの有益なテキスト表現です。
    • hashCode

      public int hashCode()
      このKerberosTicketのハッシュ・コードを返します。
      オーバーライド:
      hashCode、クラスObject
      戻り値:
      このKerberosTicketのハッシュ・コード
      導入されたバージョン:
      1.6
      関連項目:
    • equals

      public boolean equals(Object other)
      指定されたオブジェクトをこのKerberosTicketと比較し、等しいかどうかを確認します。 指定されたオブジェクトがKerberosTicketであり、2つのKerberosTicketインスタンスが等価である場合、trueを返します。 破棄されたKerberosTicketオブジェクトは、それ自体と等しいだけです。
      オーバーライド:
      equals、クラスObject
      パラメータ:
      other - 比較するオブジェクト
      戻り値:
      指定されたオブジェクトがこのKerberosTicketと等しい場合はtrue、それ以外の場合はfalse。
      導入されたバージョン:
      1.6
      関連項目: