|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
public interface GSSCredential
此介面將為實體封裝 GSS-API 憑據。憑據包含所有必要的加密資訊,這些資訊使創建的上下文能夠代表它所表示的實體。它可以包含多種不同的特定於機制的憑據元素,每種元素又包含有關特定的安全機制的資訊,但所有這一切都指的是同一個實體。憑據可用來執行上下文初始化、接受(也可以同時執行二者)。
在 GSSManager 類別中可使用其中的一種 createCredential 方法來初始化憑據。GSS-API 憑據的創建並不是為了提供“登錄到網路”的功能,因為,此類別功能會涉及到創建新的憑據,而不僅僅是獲取對現有憑據的處理。package 級別介紹中的 section on credential acquisition 介紹了如何在 Java 平臺中獲取現有的憑據。GSS-API 實作必須對調用者實施本地存取控制策略,以防止未經授權的調用者獲取他們無權獲取的憑據。
應用程序將創建一個傳輸所需參數的憑據物件。然後應用程序可以使用查詢方法來獲取有關實例化的憑據物件的具體資訊。當不需要憑據時,應用程序必須調用 dispose 方法來釋該放憑據物件掌握的資源,並且銷毀任何經過加密的敏感資訊。
下面的範例程式碼演示了如何為特定的實體創建 GSSCredential 實作、查詢其欄位,以及不再需要它時如何釋放它:
GSSManager manager = GSSManager.getInstance();
// start by creating a name object for the entity
GSSName name = manager.createName("myusername", GSSName.NT_USER_NAME);
// now acquire credentials for the entity
GSSCredential cred = manager.createCredential(name,
GSSCredential.ACCEPT_ONLY);
// display credential information - name, remaining lifetime,
// and the mechanisms it has been acquired over
System.out.println(cred.getName().toString());
System.out.println(cred.getRemainingLifetime());
Oid [] mechs = cred.getMechs();
if (mechs != null) {
for (int i = 0; i < mechs.length; i++)
System.out.println(mechs[i].toString());
}
// release system resources held by the credential
cred.dispose();
GSSManager.createCredential(int),
GSSManager.createCredential(GSSName, int, Oid, int),
GSSManager.createCredential(GSSName, int, Oid[], int),
dispose()| 欄位摘要 | |
|---|---|
static int |
ACCEPT_ONLY
憑據使用標誌,要求憑據僅可用於上下文接受。 |
static int |
DEFAULT_LIFETIME
一個表示預設的憑據生存期的生存期常數。 |
static int |
INDEFINITE_LIFETIME
一個表示不確定的憑據生存期的生存期常數。 |
static int |
INITIATE_AND_ACCEPT
憑據使用標誌,它要求憑據既可用於上下文初始化也可用於接受。 |
static int |
INITIATE_ONLY
憑據使用標誌,要求憑據僅可用於上下文初始化。 |
| 方法摘要 | |
|---|---|
void |
add(GSSName name,
int initLifetime,
int acceptLifetime,
Oid mech,
int usage)
將特定於機制的憑據元素添加到現有的憑據中。 |
void |
dispose()
釋放 GSSCredential 物件可能包含的任何敏感資訊。 |
boolean |
equals(Object another)
進行測試,看此 GSSCredential 是否具有與提供的物件相同的實體。 |
Oid[] |
getMechs()
返回受此憑據支持的機制的列表。 |
GSSName |
getName()
檢索憑據所維護的實體的名稱。 |
GSSName |
getName(Oid mech)
檢索憑據所維護的實體的 Mechanism Name(機制名稱)。 |
int |
getRemainingAcceptLifetime(Oid mech)
返回憑據以秒為單位的生存期,以便能夠繼續使用指定的機制接受安全上下文。 |
int |
getRemainingInitLifetime(Oid mech)
返回憑據以秒為單位的生存期,以便能夠繼續使用指定的機制初始化安全上下文。 |
int |
getRemainingLifetime()
返回憑據所剩餘的以秒為單位的生存期。 |
int |
getUsage()
返回憑據使用網要。 |
int |
getUsage(Oid mech)
返回特定機制的憑據使用網要。 |
int |
hashCode()
返回此 GSSCredential 的雜湊碼值。 |
| 欄位詳細資訊 |
|---|
static final int INITIATE_AND_ACCEPT
static final int INITIATE_ONLY
static final int ACCEPT_ONLY
static final int DEFAULT_LIFETIME
static final int INDEFINITE_LIFETIME
Integer.MAX_VALUE。
| 方法詳細資訊 |
|---|
void dispose()
throws GSSException
GSSException,包含以下主要錯誤程式碼:{@link - GSSException#FAILURE GSSException.FAILURE}
GSSException
GSSName getName()
throws GSSException
GSSException,包含以下主要錯誤程式碼:{@link - GSSException#FAILURE GSSException.FAILURE}
GSSException
GSSName getName(Oid mech)
throws GSSException
getName 返回的值調用規範化。
mech - 應該為其返回“Mechanism Name”的機制的 Oid。
GSSException,包含以下主要錯誤程式碼:{@link - GSSException#BAD_MECH GSSException.BAD_MECH}, GSSException.FAILURE
GSSException
int getRemainingLifetime()
throws GSSException
INDEFINITE_LIFETIME 一值表示憑據尚未到期。返回 0 值表示憑據已經過期。
GSSException,包含以下主要錯誤程式碼:{@link - GSSException#FAILURE GSSException.FAILURE}
GSSExceptiongetRemainingInitLifetime(Oid),
getRemainingAcceptLifetime(Oid)
int getRemainingInitLifetime(Oid mech)
throws GSSException
mech - 必須查詢其初始端憑據元素的機制的 Oid。
INDEFINITE_LIFETIME 值表示憑據元素尚未到期。返回 0 值表示憑據元素已經過期。
GSSException,包含以下主要錯誤程式碼:{@link - GSSException#BAD_MECH GSSException.BAD_MECH}, GSSException.FAILURE
GSSException
int getRemainingAcceptLifetime(Oid mech)
throws GSSException
mech - 必須查詢其接受端憑據元素的機制的 Oid。
INDEFINITE_LIFETIME 一值表示憑據元素尚未到期。返回 0 值表示憑據元素已經過期。
GSSException,包含以下主要錯誤程式碼:{@link - GSSException#BAD_MECH GSSException.BAD_MECH}, GSSException.FAILURE
GSSException
int getUsage()
throws GSSException
INITIATE_ONLY、ACCEPT_ONLY 和 INITIATE_AND_ACCEPT。
GSSException,包含以下主要錯誤程式碼:{@link - GSSException#FAILURE GSSException.FAILURE}
GSSException
int getUsage(Oid mech)
throws GSSException
mech - 其憑據使用網要需要確定的機制的 Oid。
INITIATE_ONLY、ACCEPT_ONLY 和 INITIATE_AND_ACCEPT。
GSSException,包含以下主要錯誤程式碼:{@link - GSSException#BAD_MECH GSSException.BAD_MECH}, GSSException.FAILURE
GSSException
Oid[] getMechs()
throws GSSException
getUsage 方法,以便確定可以使用的網要。
GSSException,包含以下主要錯誤程式碼:{@link - GSSException#FAILURE GSSException.FAILURE}
GSSException
void add(GSSName name,
int initLifetime,
int acceptLifetime,
Oid mech,
int usage)
throws GSSException
預計此例程主要由上下文接受端在創建接受端憑據時使用,這些憑據可用於使用不同安全機制的各種客戶端。
此例程將添加這一新的憑據元素到合適的地方。為了將該元素添加到新的憑據中,首先要調用 clone 以獲取此憑據的一個副本,然後再調用其 add 方法。
與以往一樣,GSS-API 實作必須向調用者實施本地存取控制策略,以防止未經授權的調用者獲取他們無權獲取的憑據。
initLifetime 和 acceptLifetime 的非預設值並不總能得到基礎機制的認可,因此,調用者必須準備調用憑據上的 getRemainingInitLifetime 和 getRemainingAcceptLifetime。
name - 將為其獲取此憑據的主體的名稱。使用 null 來指定預設的主體。initLifetime - 為初始化安全上下文,憑據元素應該保持有效的秒數。為此,請使用 GSSCredential.INDEFINITE_LIFETIME,以請求該憑據應具有最大允許生存期。為此,請使用 GSSCredential.DEFAULT_LIFETIME 請求預設的生存期。acceptLifetime - 為接受安全上下文,憑據元素應該保持有效的秒數。為此,請使用 GSSCredential.INDEFINITE_LIFETIME,以請求該憑據應具有最大允許生存期。為此,請使用 GSSCredential.DEFAULT_LIFETIME 請求預設的生存期。mech - 通過它獲取憑據的機制。usage - 此憑據元素應該添加到憑據所使用的使用網要。此參數的值必須是下列值之一:INITIATE_AND_ACCEPT、ACCEPT_ONLY 和 INITIATE_ONLY。
GSSException,包含以下主要錯誤程式碼:{@link - GSSException#DUPLICATE_ELEMENT GSSException.DUPLICATE_ELEMENT}, GSSException.BAD_MECH, GSSException.BAD_NAMETYPE, GSSException.NO_CRED, GSSException.CREDENTIALS_EXPIRED, GSSException.FAILURE
GSSExceptionboolean equals(Object another)
Object 中的 equalsanother - 與此 GSSCredential 進行比較的另外一個 GSSCredential
true;否則返回 false。Object.hashCode(),
Hashtableint hashCode()
Object 中的 hashCodeObject.equals(java.lang.Object),
Hashtable
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。