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の非公開資格セットに格納するようにしてください。 
 SubjectからKerberosTicketインスタンスにアクセスする必要がある場合は、アプリケーションにPrivateCredentialPermissionが付与されている必要があります。 アプリケーションがKerberosTicketにアクセスするためのデフォルトのJGSS Kerberosメカニズムに依存する場合、このアクセス権は必要ありません。 ただしその場合、アプリケーションには適切なServicePermissionが必要です。 
 
このクラスは、チケットを付与するチケットと、そのほかの一般サービス・チケットとの両方に適用可能です。 チケットを付与するチケットは、より一般化されたサービス・チケットの特殊な例にすぎません。
- 実装上のノート:
- 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を作成します。
- 
メソッドのサマリー修飾子と型メソッド説明voiddestroy()チケットと、チケットに格納されている重要な情報を破棄します。boolean指定されたオブジェクトとこのKerberosTicketが等しいかどうかを比較します。final Dateクライアントが認証された時間を返します。final KerberosPrincipalこのチケットに関連付けられたクライアント主体を返します。final InetAddress[]このチケットを使用可能なアドレスのリストを返します。final byte[]チケット全体のASN.1エンコーディングを返します。final Dateこのチケットの有効期間の期限切れ時間を返します。final boolean[]getFlags()このチケットに関連付けられたフラグを返します。final Dateすべての更新を含む、このチケットの最新の有効期限を返します。final KerberosPrincipalこのチケットに関連付けられたサービス主体を返します。final SecretKeyこのチケットに関連付けられたセッション・キーを返します。final intKerberosプロトコル仕様で定義された、このチケットに関連付けられたセッション・キーのキー・タイプを返します。final Dateこのチケットの有効期間の開始時間を返します。inthashCode()このKerberosTicketのハッシュ・コードを返します。booleanこのチケットが最新のままであるかどうかを判定します。booleanこのチケットが破棄されたかどうかを判定します。final booleanこのチケットが転送可能であるかどうかを判定します。final booleanこのチケットが転送されてきたか、認証によって発行されたかどうかを判定します(転送されてきたチケット認可チケットを含む)。final booleanこのチケットがKerberos AS-Exchangeプロトコルを使用して発行されていて、チケット認可チケットを元に発行されていないかどうかを判定します。final booleanこのチケットが事後の日付であるかどうかを判定します。final booleanこのチケットがプロキシ可能であるかどうかを判定します。final booleanisProxy()このチケットがプロキシ・チケットであるかどうかを判定します。final booleanこのチケットが更新可能であるかどうかを判定します。voidrefresh()このチケットの有効期間を延長します。toString()このKerberosTicketの有益なテキスト表現を返します。
- 
コンストラクタの詳細- 
KerberosTicketpublic 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になる。
 
 
- 
- 
メソッドの詳細- 
getClientpublic final KerberosPrincipal getClient()このチケットに関連付けられたクライアント主体を返します。- 戻り値:
- クライアント・プリンシパル、または破棄された場合はnull。
 
- 
getServerpublic final KerberosPrincipal getServer()このチケットに関連付けられたサービス主体を返します。- 戻り値:
- サービス・プリンシパル、または破棄された場合はnull。
 
- 
getSessionKeypublic final SecretKey getSessionKey()このチケットに関連付けられたセッション・キーを返します。 戻り値は常にEncryptionKeyオブジェクトです。- 戻り値:
- セッション・キー。
- 例外:
- IllegalStateException- このチケットが破棄された場合
 
- 
getSessionKeyTypepublic final int getSessionKeyType()Kerberosプロトコル仕様で定義された、このチケットに関連付けられたセッション・キーのキー・タイプを返します。- 戻り値:
- このチケットに関連付けられたセッション・キーのキー・タイプ。
- 例外:
- IllegalStateException- このチケットが破棄された場合
- 関連項目:
 
- 
isForwardablepublic final boolean isForwardable()このチケットが転送可能であるかどうかを判定します。- 戻り値:
- このチケットが転送可能な場合はtrue、転送不可能または破棄されない場合はfalse。
 
- 
isForwardedpublic final boolean isForwarded()このチケットが転送されてきたか、認証によって発行されたかどうかを判定します(転送されてきたチケット認可チケットを含む)。- 戻り値:
- このチケットが転送された場合、または転送されたチケット許可チケットを含む認証に基づいて発行された場合はtrue、それ以外の場合はfalse、または破棄されます。
 
- 
isProxiablepublic final boolean isProxiable()このチケットがプロキシ可能であるかどうかを判定します。- 戻り値:
- このチケットがプロキシブルである場合はtrue、プロキシ可能でない場合はfalse、または破棄されます。
 
- 
isProxypublic final boolean isProxy()このチケットがプロキシ・チケットであるかどうかを判定します。- 戻り値:
- このチケットがプロキシ・チケットである場合はtrue、プロキシ・チケットでない場合はfalse、または破棄されます。
 
- 
isPostdatedpublic final boolean isPostdated()このチケットが事後の日付であるかどうかを判定します。- 戻り値:
- このチケットの日付が期限切れの場合はtrue、期限が過ぎていないか破棄されていない場合はfalseです。
 
- 
isRenewablepublic final boolean isRenewable()このチケットが更新可能であるかどうかを判定します。 更新可能な場合、更新有効期間が過ぎていないと見なされ、refreshメソッドを呼び出すことができます。- 戻り値:
- このチケットが再生可能である場合はtrue、再生できない場合はfalse、または破棄されます。
 
- 
isInitialpublic final boolean isInitial()このチケットがKerberos AS-Exchangeプロトコルを使用して発行されていて、チケット認可チケットを元に発行されていないかどうかを判定します。- 戻り値:
- このチケットがKerberos AS-Exchangeプロトコルを使用して発行された場合はtrue、そうでない場合はfalse、または破棄されます。
 
- 
getFlagspublic final boolean[] getFlags()このチケットに関連付けられたフラグを返します。 返された配列の各要素は、チケット・フラグを表すASN.1 BitStringの対応するビットの値を示します。- 戻り値:
- このチケットに関連付けられたフラグ、または破棄された場合はnull。
 
- 
getAuthTimepublic final Date getAuthTime()クライアントが認証された時間を返します。- 戻り値:
- クライアントが認証された時間、またはフィールドが設定されていないか、このチケットが破棄された場合はnull。
 
- 
getStartTimepublic final Date getStartTime()このチケットの有効期間の開始時間を返します。- 戻り値:
- フィールドが設定されていないか、このチケットが破棄されている場合は、このチケット有効期間の開始時間またはnull。
 
- 
getEndTimepublic final Date getEndTime()このチケットの有効期間の期限切れ時間を返します。- 戻り値:
- このチケット有効期間の有効期限、または破棄された場合はnull。
 
- 
getRenewTillpublic final Date getRenewTill()すべての更新を含む、このチケットの最新の有効期限を返します。 更新不可能なチケットではnull値が返されます。- 戻り値:
- このチケットの最新の有効期限、または破棄された場合はnull。
 
- 
getClientAddressespublic final InetAddress[] getClientAddresses()このチケットを使用可能なアドレスのリストを返します。- 戻り値:
- このフィールドが提供されなかった場合、またはこのチケットが破棄された場合は、nullを返します。
 
- 
getEncodedpublic final byte[] getEncoded()チケット全体のASN.1エンコーディングを返します。- 戻り値:
- チケット全体のASN.1エンコーディング。 このメソッドが呼び出されるたびに、新しいバイト配列が返されます。
- 例外:
- IllegalStateException- このチケットが破棄された場合
 
- 
isCurrentpublic boolean isCurrent()このチケットが最新のままであるかどうかを判定します。- 定義:
- isCurrent、インタフェース:- Refreshable
- 戻り値:
- このチケットがまだ最新の場合はtrue、最新でない場合はfalse、または破棄されます。
 
- 
refreshpublic void refresh() throws RefreshFailedExceptionこのチケットの有効期間を延長します。 更新処理に成功すると、チケットに新しいセッション・キーが追加されます。 チケットが更新可能ではない場合や、最後の更新可能な時間が過ぎている場合は、更新処理に失敗します。 KDCからエラーが返された場合も、このメソッドは失敗します。 ノート: このメソッドは、このオブジェクトのアクセサ・メソッドと同期されません。 したがって、呼出し側は、このオブジェクトにアクセスし、更新を試みるスレッドが同時に複数存在する可能性がある点に注意する必要があります。- 定義:
- refresh、インタフェース:- Refreshable
- 例外:
- IllegalStateException- このチケットが破棄された場合
- RefreshFailedException- チケットが更新可能ではない場合、最後の更新可能な時間が過ぎている場合、またはKDCがエラーを返す場合。
- 関連項目:
 
- 
destroypublic void destroy() throws DestroyFailedExceptionチケットと、チケットに格納されている重要な情報を破棄します。- 定義:
- destroy、インタフェース:- Destroyable
- 例外:
- DestroyFailedException- 破棄処理が失敗した場合。
 
- 
isDestroyedpublic boolean isDestroyed()このチケットが破棄されたかどうかを判定します。- 定義:
- isDestroyed、インタフェース:- Destroyable
- 戻り値:
- このObjectが破棄された場合はtrue、そうでない場合はfalse。
 
- 
toStringpublic String toString()このKerberosTicketの有益なテキスト表現を返します。
- 
hashCodepublic int hashCode()このKerberosTicketのハッシュ・コードを返します。
- 
equalspublic boolean equals(Object other) 指定されたオブジェクトとこのKerberosTicketが等しいかどうかを比較します。 指定されたオブジェクトがKerberosTicketであり、2つのKerberosTicketインスタンスが等価である場合、trueを返します。 破壊されたKerberosTicketオブジェクトは、それ自体と同じです。
 
-