- 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
- 関連項目:
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を作成します。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 voiddestroy()チケットと、チケットに格納されている重要な情報を破棄します。booleanequals(Object other)指定されたオブジェクトとこのKerberosTicketが等しいかどうかを比較します。DategetAuthTime()クライアントが認証された時間を返します。KerberosPrincipalgetClient()このチケットに関連付けられたクライアント主体を返します。InetAddress[]getClientAddresses()このチケットを使用可能なアドレスのリストを返します。byte[]getEncoded()チケット全体のASN.1エンコーディングを返します。DategetEndTime()このチケットの有効期間の期限切れ時間を返します。boolean[]getFlags()このチケットに関連付けられたフラグを返します。DategetRenewTill()すべての更新を含む、このチケットの最新の有効期限を返します。KerberosPrincipalgetServer()このチケットに関連付けられたサービス主体を返します。SecretKeygetSessionKey()このチケットに関連付けられたセッション鍵を返します。intgetSessionKeyType()Kerberosプロトコル仕様で定義された、このチケットに関連付けられたセッション鍵の鍵タイプを返します。DategetStartTime()このチケットの有効期間の開始時間を返します。inthashCode()このKerberosTicketのハッシュ・コードを返します。booleanisCurrent()このチケットが最新のままであるかどうかを判定します。booleanisDestroyed()このチケットが破棄されたかどうかを判定します。booleanisForwardable()このチケットが転送可能であるかどうかを判定します。booleanisForwarded()このチケットが転送されてきたか、認証によって発行されたかどうかを判定します(転送されてきたチケット認可チケットを含む)。booleanisInitial()このチケットがKerberos AS-Exchangeプロトコルを使用して発行されていて、チケット認可チケットを元に発行されていないかどうかを判定します。booleanisPostdated()このチケットが事後の日付であるかどうかを判定します。booleanisProxiable()このチケットがプロキシ可能であるかどうかを判定します。booleanisProxy()このチケットがプロキシ・チケットであるかどうかを判定します。booleanisRenewable()このチケットが更新可能であるかどうかを判定します。voidrefresh()このチケットの有効期間を延長します。StringtoString()このKerberosTicketの有益なテキスト表現を返します。
-
-
-
コンストラクタの詳細
-
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- このチケットが破棄された場合- 関連項目:
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の対応するビットの値を示します。- 戻り値:
- このチケットに関連付けられたフラグ、または破棄された場合は
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がエラーを返す場合。- 関連項目:
isRenewable(),getRenewTill()
-
destroy
public void destroy() throws DestroyFailedExceptionチケットと、チケットに格納されている重要な情報を破棄します。- 定義:
destroy、インタフェース:Destroyable- 例外:
DestroyFailedException- 破棄処理が失敗した場合。
-
isDestroyed
public boolean isDestroyed()
このチケットが破棄されたかどうかを判定します。- 定義:
isDestroyed、インタフェース:Destroyable- 戻り値:
- この
Objectが破棄された場合はtrue、そうでない場合はfalse。
-
toString
public String toString()
このKerberosTicketの有益なテキスト表現を返します。
-
hashCode
public int hashCode()
このKerberosTicketのハッシュ・コードを返します。- オーバーライド:
hashCode、クラス:Object- 戻り値:
- この
KerberosTicketのハッシュ・コード。 - 導入されたバージョン:
- 1.6
- 関連項目:
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object other)
指定されたオブジェクトとこのKerberosTicketが等しいかどうかを比較します。 指定されたオブジェクトがKerberosTicketであり、2つのKerberosTicketインスタンスが等価である場合、trueを返します。 破壊されたKerberosTicketオブジェクトは、それ自体と同じです。- オーバーライド:
equals、クラス:Object- パラメータ:
other- 比較するオブジェクト- 戻り値:
- 指定されたオブジェクトがこの
KerberosTicketと等しい場合はtrue、そうでない場合はfalse。 - 導入されたバージョン:
- 1.6
- 関連項目:
Object.hashCode()、HashMap
-
-