- 所有父级接口:
Cloneable
- 所有已知的子接口:
ExtendedGSSCredential
此接口封装实体的 GSS-API 凭据。凭据包含所有必要的加密信息,以便能够代表它所代表的实体创建上下文。它可能包含多个不同的、机制特定的凭证元素,每个元素包含特定安全机制的信息,但都指向同一实体。凭证可用于执行上下文启动、接受或两者。
使用 GSSManager 类中的一种 createCredential 方法实例化凭据。 GSS-API 凭据创建并非旨在提供“登录到网络”功能,因为这样的功能将涉及创建新凭据,而不仅仅是获取现有凭据的句柄。包级别描述中的 凭证获取部分 描述了如何在 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();
- 自从:
- 1.4
- 参见:
-
字段摘要
字段修饰符和类型Field描述static final int凭据使用标志要求它仅可用于上下文接受。static final int表示默认凭证生命周期的生命周期常量。static final int代表无限期凭证生命周期的生命周期常量。static final int请求它可用于上下文启动和接受的凭证使用标志。static final int请求它仅可用于上下文启动的凭证使用标志。 -
方法总结
修饰符和类型方法描述void将特定于机制的凭证元素添加到现有凭证。voiddispose()释放 GSSCredential 对象可能包含的任何敏感信息。boolean测试此 GSSCredential 是否断言与提供的对象相同的实体。Oid[]getMechs()返回此凭证支持的机制列表。getName()检索凭据断言的实体的名称。检索凭据断言的实体的机制名称。int返回凭证的生命周期(以秒为单位)以保持能够使用指定机制接受安全上下文。intgetRemainingInitLifetime(Oid mech) 返回以秒为单位的凭据的生命周期,以保持能够使用指定机制启动安全上下文。int返回凭据的剩余生命周期(以秒为单位)。intgetUsage()返回凭证使用模式。int返回特定机制的凭证使用模式。inthashCode()返回此 GSSCredential 的哈希码值。
-
字段详细信息
-
INITIATE_AND_ACCEPT
static final int INITIATE_AND_ACCEPT请求它可用于上下文启动和接受的凭证使用标志。- 参见:
-
INITIATE_ONLY
static final int INITIATE_ONLY请求它仅可用于上下文启动的凭证使用标志。- 参见:
-
ACCEPT_ONLY
static final int ACCEPT_ONLY凭据使用标志要求它仅可用于上下文接受。- 参见:
-
DEFAULT_LIFETIME
static final int DEFAULT_LIFETIME表示默认凭证生命周期的生命周期常量。该值设置为 0。- 参见:
-
INDEFINITE_LIFETIME
static final int INDEFINITE_LIFETIME代表无限期凭证生命周期的生命周期常量。此值必须设置为 Java 中的最大整数值 -Integer.MAX_VALUE。- 参见:
-
-
方法详情
-
dispose
释放 GSSCredential 对象可能包含的任何敏感信息。一旦不再需要凭据,应用程序应立即调用此方法,以最大程度地减少维护任何敏感信息的时间。- 抛出:
GSSException- 包含以下主要错误代码:GSSException.FAILURE
-
getName
检索凭据断言的实体的名称。- 返回:
- 表示实体的 GSSName
- 抛出:
GSSException- 包含以下主要错误代码:GSSException.FAILURE
-
getName
检索凭据断言的实体的机制名称。这相当于对getName的另一种形式返回的值调用canonicalize。- 参数:
mech- 应为其返回机制名称的机制的 Oid。- 返回:
- 代表为所需机制规范化的实体的 GSSName
- 抛出:
GSSException- 包含以下主要错误代码:GSSException.BAD_MECH、GSSException.FAILURE
-
getRemainingLifetime
返回凭据的剩余生命周期(以秒为单位)。剩余寿命是所有底层机制特定凭证元素中的最小寿命。- 返回:
-
此凭据的最短剩余生命周期(以秒为单位)。
INDEFINITE_LIFETIME的返回值表示凭证未过期。返回值 0 表示凭证已过期。 - 抛出:
GSSException- 包含以下主要错误代码:GSSException.FAILURE- 参见:
-
getRemainingInitLifetime
返回以秒为单位的凭据的生命周期,以保持能够使用指定机制启动安全上下文。该方法查询属于指定机制的启动器凭证元素。- 参数:
mech- 应查询其启动器凭证元素的机制的 Oid。- 返回:
-
此凭证元素生命周期中剩余的秒数。
INDEFINITE_LIFETIME的返回值表示凭证元素没有过期。返回值 0 表示凭证元素已过期。 - 抛出:
GSSException- 包含以下主要错误代码:GSSException.BAD_MECH、GSSException.FAILURE
-
getRemainingAcceptLifetime
返回凭证的生命周期(以秒为单位)以保持能够使用指定机制接受安全上下文。该方法查询属于指定机制的接受者凭证元素。- 参数:
mech- 应查询其接受者凭证元素的机制的 Oid。- 返回:
-
此凭证元素生命周期中剩余的秒数。
INDEFINITE_LIFETIME的返回值表示凭证元素没有过期。返回值 0 表示凭证元素已过期。 - 抛出:
GSSException- 包含以下主要错误代码:GSSException.BAD_MECH、GSSException.FAILURE
-
getUsage
返回凭证使用模式。换句话说,它告诉我们此凭证是否可用于启动或接受安全上下文。它没有告诉我们必须使用哪种机制才能这样做。预计应用程序将允许 GSS-API 在调用此方法后选择默认机制。- 返回:
-
返回值将是
INITIATE_ONLY、ACCEPT_ONLY和INITIATE_AND_ACCEPT之一。 - 抛出:
GSSException- 包含以下主要错误代码:GSSException.FAILURE
-
getUsage
返回特定机制的凭证使用模式。换句话说,它告诉我们这个凭证是否可以用于启动或接受具有给定底层机制的安全上下文。- 参数:
mech- 要确定其凭证使用模式的机制的 Oid。- 返回:
-
返回值将是
INITIATE_ONLY、ACCEPT_ONLY和INITIATE_AND_ACCEPT之一。 - 抛出:
GSSException- 包含以下主要错误代码:GSSException.BAD_MECH、GSSException.FAILURE
-
getMechs
返回此凭证支持的机制列表。它没有告诉我们哪些可以用来启动上下文,哪些可以用来接受上下文。应用程序必须使用每个返回的 Oid 调用getUsage方法以确定可能的使用模式。- 返回:
- 与支持的机制相对应的 Oid 数组。
- 抛出:
GSSException- 包含以下主要错误代码:GSSException.FAILURE
-
add
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
-
equals
测试此 GSSCredential 是否断言与提供的对象相同的实体。这两个凭据必须通过相同的机制获取,并且必须引用相同的委托人。 -
hashCode
int hashCode()返回此 GSSCredential 的哈希码值。
-