|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object javax.security.auth.kerberos.KerberosTicket
public class KerberosTicket
此類別封裝了 Kerberos 票據和從客戶端的視點所觀察到的有關資訊。它捕獲 Key Distribution Center (KDC) 發送給客端的所有資訊,這些資訊定義在 Kerberos 協議規範(RFC 1510) 中的應答訊息 KDC-REP 中。
向 KDC 驗證使用者的所有 Kerberos JAAS 登錄模組都應該使用此類別。在可以使用的地方,登錄模組甚至可以從作業系統的票據快取記憶體中讀取此資訊,而不是直接與 KDC 通信。在 JAAS 驗證過程的提交階段,JAAS 登錄模組應該實例化此類別並將該實例存儲在 Subject
的私有證書集中。
如果應用程序需要從 Subject 存取 KerberosTicket 實例,可能必須授予應用程序 PrivateCredentialPermission
權限。當應用程序依靠預設的 JGSS Kerberos 機制去存取 KerberosTicket 時,不需要此權限。但在這種情況下,應用程序將需要適當的 ServicePermission
權限。
注意此類別適用於票據授權票據和其他的規則服務票據。票據授權票據就是更一般化的服務票據的特殊情況。
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()
返回與此票據有關聯的Session密鑰。 |
int |
getSessionKeyType()
返回與此票據有關聯的Session密鑰的密鑰型別(由 Kerberos Protocol Specification 定義)。 |
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 |
建構子詳細資訊 |
---|
public KerberosTicket(byte[] asn1Encoding, KerberosPrincipal client, KerberosPrincipal server, byte[] sessionKey, int keyType, boolean[] flags, Date authTime, Date startTime, Date endTime, Date renewTill, InetAddress[] clientAddresses)
asn1Encoding
- Kerberos 協議規範定義的票據的 ASN.1 編碼client
- 擁有此服務票據的客戶端server
- 適用此票據的服務sessionKey
- 必須用來加密將要發送給伺服器的授權者的Session密鑰的原始位元組keyType
- Kerberos 協議規範定義的Session密鑰的密鑰型別。flags
- 票據標誌。此陣列中的每個元素指示表示票據標誌的 ASN.1 BitString 中的相應位值。如果此陣列中的元素的數量小於 Kerberos 協議使用的標誌的數量,則將丟失的標記填充為 false。authTime
- 客戶端的初始驗證時間startTime
- 經過這段時間後票據將生效。將 authTime 的值視為 startTime 時,此值可以為 null。endTime
- 經過這段時間後票據將不再有效renewTill
- 票據的絕對過期時間,包括所有可能的更新。對於不可更新的票據,此欄位可以為 null。clientAddresses
- 客戶端可以在其所指的位置使用票據的位址。如果票據在任何位址都是可用的,則此欄位可以為 null。方法詳細資訊 |
---|
public final KerberosPrincipal getClient()
public final KerberosPrincipal getServer()
public final SecretKey getSessionKey()
public final int getSessionKeyType()
getSessionKey()
public final boolean isForwardable()
public final boolean isForwarded()
public final boolean isProxiable()
public final boolean isProxy()
public final boolean isPostdated()
public final boolean isRenewable()
refresh
方法,假定更新的有效期還沒有結束。
public final boolean isInitial()
public final boolean[] getFlags()
public final Date getAuthTime()
public final Date getStartTime()
public final Date getEndTime()
public final Date getRenewTill()
public final InetAddress[] getClientAddresses()
public final byte[] getEncoded()
public boolean isCurrent()
Refreshable
中的 isCurrent
Object
是當前的,則返回 true;否則,返回 false。public void refresh() throws RefreshFailedException
Refreshable
中的 refresh
RefreshFailedException
- 如果票據是不可更新的,或已經超過了最新允許更新時間,抑或 KDC 返回了某些錯誤。isRenewable()
,
getRenewTill()
public void destroy() throws DestroyFailedException
Destroyable
中的 destroy
DestroyFailedException
- 如果銷毀操作失敗。 public boolean isDestroyed()
Destroyable
中的 isDestroyed
Object
已經銷毀,則返回 true;否則,返回 false。public String toString()
Object
複製的描述toString
方法會返回一個「以文本方式表示」此物件的字元串。結果應是一個簡明但易於讀懂的資訊表達式。建議所有子類別都覆寫此方法。
Object
類別的 toString
方法返回一個字元串,該字元串由類別名(物件是該類別的一個實例)、at 標記符“@
”和此物件雜湊碼的無符號十六進製表示組成。換句話說,該方法返回一個字元串,它的值等於:
getClass().getName() + '@' + Integer.toHexString(hashCode())
Object
中的 toString
public int hashCode()
Object
中的 hashCode
KerberosTicket
的 hashCode()Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object other)
KerberosTicket
並且兩個 KerberosTicket
相等,則返回 true。
Object
中的 equals
other
- 要比較的 Object
Object.hashCode()
,
Hashtable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。