JavaTM 2
Platform
Std. Ed. v1.4.0

javax.security.auth.kerberos
クラス KerberosTicket

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

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()
          チケットと、チケットに格納されている重要な情報を破棄します。
 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()
          このチケットの有効期間の開始時刻を返します。
 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, equals, finalize, getClass, hashCode, 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 - サーバに送信されるオーセンティケータを暗号化するために使用されるセッション鍵の、生のバイト
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()
クライアントが認証された時刻を返します。

戻り値:
クライアントが認証された時刻

getStartTime

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

戻り値:
このチケットの有効期間の開始時刻

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
戻り値:
このオブジェクトの文字列表現

JavaTM 2
Platform
Std. Ed. v1.4.0

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

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.