public interface GSSCredential extends Cloneable
使用GSSManager
类中的createCredential
方法之一实例化凭据 。 GSS-API认证创建并不旨在提供“登录到网络”功能,因为这样的功能将涉及创建新的凭据,而不仅仅是获取现有凭据的句柄。 该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();
Modifier and Type | Field and Description |
---|---|
static int |
ACCEPT_ONLY
凭证使用标志,要求仅可用于上下文接受。
|
static int |
DEFAULT_LIFETIME
表示默认凭证生命周期的生命周期常数。
|
static int |
INDEFINITE_LIFETIME
代表无限期凭证寿命的终生常数。
|
static int |
INITIATE_AND_ACCEPT
凭证使用标志,要求其可用于上下文启动和接受。
|
static int |
INITIATE_ONLY
凭证使用标志,要求仅用于上下文启动。
|
Modifier and Type | Method and Description |
---|---|
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)
检索机制凭证声明的实体的名称。
|
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
- 包含以下主要错误代码:
GSSException.FAILURE
GSSName getName() throws GSSException
GSSException
- 包含以下主要错误代码:
GSSException.FAILURE
GSSName getName(Oid mech) throws GSSException
canonicalize
对另一种形式返回的值为getName
。
mech
- 应该返回机制名称的机制的Oid。
GSSException
-包含以下主要错误代码:
GSSException.BAD_MECH
,
GSSException.FAILURE
int getRemainingLifetime() throws GSSException
INDEFINITE_LIFETIME
表示该凭证不会过期。
返回值为0表示凭证已过期。
GSSException
- 包含以下主要错误代码:
GSSException.FAILURE
getRemainingInitLifetime(Oid)
,
getRemainingAcceptLifetime(Oid)
int getRemainingInitLifetime(Oid mech) throws GSSException
mech
- 应查询启动器凭据元素的机制的Oid。
INDEFINITE_LIFETIME
表示该凭证元素,不会过期。
返回值为0表示凭证元素已过期。
GSSException
-包含以下主要错误代码:
GSSException.BAD_MECH
,
GSSException.FAILURE
int getRemainingAcceptLifetime(Oid mech) throws GSSException
mech
- 应该查询其接受者凭据元素的机制的Oid。
INDEFINITE_LIFETIME
表示该凭证元素,不会过期。
返回值为0表示凭证元素已过期。
GSSException
-包含以下主要错误代码:
GSSException.BAD_MECH
,
GSSException.FAILURE
int getUsage() throws GSSException
INITIATE_ONLY
,
ACCEPT_ONLY
和
INITIATE_AND_ACCEPT
。
GSSException
- 包含以下主要错误代码:
GSSException.FAILURE
int getUsage(Oid mech) throws GSSException
mech
- 要确定凭据使用模式的机制的Oid。
INITIATE_ONLY
,
ACCEPT_ONLY
和
INITIATE_AND_ACCEPT
。
GSSException
-包含以下主要错误代码:
GSSException.BAD_MECH
,
GSSException.FAILURE
Oid[] getMechs() throws GSSException
GSSException
- 包含以下主要错误代码:
GSSException.FAILURE
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
-包含以下主要错误代码:
GSSException.DUPLICATE_ELEMENT
,
GSSException.BAD_MECH
,
GSSException.BAD_NAMETYPE
,
GSSException.NO_CRED
,
GSSException.CREDENTIALS_EXPIRED
,
GSSException.FAILURE
boolean equals(Object another)
equals
在
Object
another
- 另一个与此相比较的GSSCredential
true
如果两个GSSCredentials断言同一个实体;
false
否则。
Object.hashCode()
, HashMap
int hashCode()
hashCode
在
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)