JavaTM Platform
Standard Ed. 6

javax.security.auth.kerberos
クラス 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 1510) で定義されています。  

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

Subject から KerberosTicket インスタンスにアクセスする必要がある場合は、アプリケーションに PrivateCredentialPermission を与える必要があることがあります。アプリケーションが KerberosTicket にアクセスするのにデフォルトの JGSS Kerberos 機構に依存している場合、このアクセス権は必要ありません。ただしその場合、アプリケーションには適切な ServicePermission が必要です。  

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

導入されたバージョン:
1.4
関連項目:
Subject, PrivateCredentialPermission, LoginContext, GSSCredential, GSSManager, 直列化された形式

コンストラクタの概要
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 destroy()
          チケットと、チケットに格納されている重要な情報を破棄します。
 boolean equals(Object other)
          指定された Object がこの KerberosTicket と等しいかどうか比較します。
 Date getAuthTime()
          クライアントが認証された時刻を返します。
 KerberosPrincipal getClient()
          このチケットに関連したクライアントの主体を返します。
 InetAddress[] getClientAddresses()
          このチケットを使用可能なアドレスのリストを返します。
 byte[] getEncoded()
          チケット全体の ASN.1 符号化を返します。
 Date getEndTime()
          このチケットの有効期間の期限切れ時刻を返します。
 boolean[] getFlags()
          このチケットに関連するフラグを返します。
 Date getRenewTill()
          すべての更新を含む、このチケットの最新の有効期限を返します。
 KerberosPrincipal getServer()
          このチケットに関連したサービスの主体を返します。
 SecretKey getSessionKey()
          このチケットに関連したセッション鍵を返します。
 int getSessionKeyType()
          Kerberos プロトコル仕様で定義された、このチケットに関連するセッション鍵の鍵タイプを返します。
 Date getStartTime()
          このチケットの有効期間の開始時刻を返します。
 int hashCode()
          この KerberosTicket のハッシュコードを返します。
 boolean isCurrent()
          このチケットが最新のままであるかどうかを判定します。
 boolean isDestroyed()
          このチケットが破棄されたかどうかを判定します。
 boolean isForwardable()
          このチケットが転送可能であるかどうかを判定します。
 boolean isForwarded()
          このチケットが転送されてきたか、認証によって発行されたかどうかを判定します (転送されてきたチケット認可チケットを含む)。
 boolean isInitial()
          このチケットが Kerberos AS-Exchange プロトコルを使用して発行されていて、チケット認可チケットを元に発行されていないかどうかを判定します。
 boolean isPostdated()
          このチケットが事後の日付であるかどうかを判定します。
 boolean isProxiable()
          このチケットがプロキシ可能であるかどうかを判定します。
 boolean isProxy()
          このチケットがプロキシチケットであるかどうかを判定します。
 boolean isRenewable()
          このチケットが更新可能であるかどうかを判定します。
 void refresh()
          このチケットの有効期間を延長します。
 String toString()
          オブジェクトの文字列表現を返します。
 
クラス java.lang.Object から継承されたメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

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 DER 符号化
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()
このチケットに関連したクライアントの主体を返します。

戻り値:
クライアントの主体

getServer

public final KerberosPrincipal getServer()
このチケットに関連したサービスの主体を返します。

戻り値:
サービスの主体

getSessionKey

public final SecretKey getSessionKey()
このチケットに関連したセッション鍵を返します。

戻り値:
セッション鍵

getSessionKeyType

public final int getSessionKeyType()
Kerberos プロトコル仕様で定義された、このチケットに関連するセッション鍵の鍵タイプを返します。

戻り値:
このチケットに関連したセッション鍵の鍵タイプ
関連項目:
getSessionKey()

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 の対応するビットの値を示します。

戻り値:
このチケットに関連するフラグ

getAuthTime

public final Date getAuthTime()
クライアントが認証された時刻を返します。

戻り値:
クライアントが認証された時刻。設定されていない場合は null

getStartTime

public final Date getStartTime()
このチケットの有効期間の開始時刻を返します。

戻り値:
このチケットの有効期間の開始時刻。設定されていない場合は null

getEndTime

public final Date getEndTime()
このチケットの有効期間の期限切れ時刻を返します。

戻り値:
このチケットの有効期間の期限切れ時刻

getRenewTill

public final Date getRenewTill()
すべての更新を含む、このチケットの最新の有効期限を返します。更新不可能なチケットでは null 値が返されます。

戻り値:
このチケットの最新の有効期限

getClientAddresses

public final InetAddress[] getClientAddresses()
このチケットを使用可能なアドレスのリストを返します。

戻り値:
アドレスのリスト。フィールドが指定されていない場合は null

getEncoded

public final byte[] getEncoded()
チケット全体の ASN.1 符号化を返します。

戻り値:
チケット全体の ASN.1 符号化

isCurrent

public boolean isCurrent()
このチケットが最新のままであるかどうかを判定します。

定義:
インタフェース Refreshable 内の isCurrent
戻り値:
この Object が現在最新である場合は true、そうでない場合は false

refresh

public void refresh()
             throws RefreshFailedException
このチケットの有効期間を延長します。更新処理に成功すると、チケットに新しいセッション鍵が追加されます。チケットが更新可能ではない場合や、更新可能な最新時刻が過ぎている場合は、更新処理に失敗します。KDC からエラーが返された場合も、このメソッドは失敗します。 注:このメソッドは、このオブジェクトのアクセス用メソッドと同期していません。したがって、呼び出し側は、このオブジェクトにアクセスし、更新を試みるスレッドが同時に複数存在する可能性がある点に注意する必要があります。

定義:
インタフェース Refreshable 内の refresh
例外:
RefreshFailedException - チケットが更新可能ではない場合、更新可能な最新時刻が過ぎている場合、または KDC がエラーを返す場合
関連項目:
isRenewable(), getRenewTill()

destroy

public void destroy()
             throws DestroyFailedException
チケットと、チケットに格納されている重要な情報を破棄します。

定義:
インタフェース Destroyable 内の destroy
例外:
DestroyFailedException - 破棄処理が失敗した場合


isDestroyed

public boolean isDestroyed()
このチケットが破棄されたかどうかを判定します。

定義:
インタフェース Destroyable 内の isDestroyed
戻り値:
この Object が破棄された場合は true、そうでない場合は false

toString

public String toString()
クラス Object の記述:
オブジェクトの文字列表現を返します。通常、toString メソッドはこのオブジェクトを「テキストで表現する」文字列を返します。この結果は、人間が読める簡潔で有益な情報であるべきです。すべてのサブクラスで、このメソッドをオーバーライドすることをお勧めします。  

Object クラスの toString メソッドは、オブジェクトの派生元のクラス名、アットマーク (@)、およびオブジェクトのハッシュコードの符号なし 16 進表現から構成される文字列を返します。つまり、このメソッドは次の値と等しい文字列を返します。

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

オーバーライド:
クラス Object 内の toString
戻り値:
このオブジェクトの文字列表現

hashCode

public int hashCode()
この KerberosTicket のハッシュコードを返します。

オーバーライド:
クラス Object 内の hashCode
戻り値:
KerberosTicket の hashCode()
導入されたバージョン:
1.6
関連項目:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object other)
指定された Object がこの KerberosTicket と等しいかどうか比較します。指定されたオブジェクトが KerberosTicket であり、2 つの KerberosTicket インスタンスが等価である場合、true を返します。

オーバーライド:
クラス Object 内の equals
パラメータ:
other - 比較対象の Object
戻り値:
指定されたオブジェクトがこの KerberosTicket と等しい場合は true、そうでない場合は false。注:どちらかの KerberosTicket オブジェクトが破棄された場合は true
導入されたバージョン:
1.6
関連項目:
Object.hashCode(), Hashtable

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。