所有类


org.ietf.jgss
接口 GSSCredential

所有超级接口:
Cloneable

public interface GSSCredential
   
   
   
   
extends Cloneable

此接口将为实体封装 GSS-API 凭据。凭据包含所有必要的加密信息,这些信息使创建的上下文能够代表它所表示的实体。它可以包含多种不同的特定于机制的凭据元素,每种元素又包含有关特定的安全机制的信息,但所有这一切都指的是同一个实体。凭据可用来执行上下文初始化、接受(也可以同时执行二者)。

GSSManager 类中可使用其中的一种 createCredential 方法来初始化凭据。GSS-API 凭据的创建并不是为了提供“登录到网络”的功能,因为,此类功能会涉及到创建新的凭据,而不仅仅是获取对现有凭据的处理。package 级别介绍中的《section on credential acquisition》介绍了如何在 Java 2 平台中获取现有的凭据。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
另请参见:
GSSManager.createCredential(int), GSSManager.createCredential(GSSName, int, Oid, int), GSSManager.createCredential(GSSName, int, Oid[], int), dispose()

字段摘要
static intACCEPT_ONLY
          凭据使用标志,要求凭据仅可用于上下文接受。
static intDEFAULT_LIFETIME
          一个表示默认的凭据生存期的生存期常量。
static intINDEFINITE_LIFETIME
          一个表示不确定的凭据生存期的生存期常量。
static intINITIATE_AND_ACCEPT
          凭据使用标志,它要求凭据既可用于上下文初始化也可用于接受。
static intINITIATE_ONLY
          凭据使用标志,要求凭据仅可用于上下文初始化。
 
方法摘要
 voidadd(GSSName name, int initLifetime, int acceptLifetime, Oid mech, int usage)
          将特定于机制的凭据元素添加到现有的凭据中。
 voiddispose()
          释放 GSSCredential 对象可能包含的任何敏感信息。
 booleanequals(Object another)
          进行测试,看此 GSSCredential 是否具有与提供的对象相同的实体。
 Oid[]getMechs()
          返回受此凭据支持的机制的列表。
 GSSNamegetName()
          检索凭据所维护的实体的名称。
 GSSNamegetName(Oid mech)
          检索凭据所维护的实体的 Mechanism Name(机制名称)。
 intgetRemainingAcceptLifetime(Oid mech)
          返回凭据以秒为单位的生存期,以便能够继续使用指定的机制接受安全上下文。
 intgetRemainingInitLifetime(Oid mech)
          返回凭据以秒为单位的生存期,以便能够继续使用指定的机制初始化安全上下文。
 intgetRemainingLifetime()
          返回凭据所剩余的以秒为单位的生存期。
 intgetUsage()
          返回凭据使用模式。
 intgetUsage(Oid mech)
          返回特定机制的凭据使用模式。
 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

void dispose()
             throws GSSException
释放 GSSCredential 对象可能包含的任何敏感信息。一旦不再需要某个凭据,应用程序就要立即调用此方法,以便将维护敏感信息所需的时间降至最低。

抛出:
GSSException,包含以下主要错误代码:{@link - GSSException#FAILURE GSSException.FAILURE}
GSSException

getName

GSSName getName()
                throws GSSException
检索凭据所维护的实体的名称。

返回:
一个代表该实体的 GSSName
抛出:
GSSException,包含以下主要错误代码:{@link - GSSException#FAILURE GSSException.FAILURE}
GSSException

getName

GSSName getName(Oid mech)
                throws GSSException
检索凭据所维护的实体的 Mechanism Name(机制名称)。这相当于对其他形式的 getName 返回的值调用规范化

参数:
mech - 应该为其返回“Mechanism Name”的机制的 Oid。
返回:
一个表示已针对需要的机制对实体进行规范化的 GSSName
抛出:
GSSException,包含以下主要错误代码:{@link - GSSException#BAD_MECH GSSException.BAD_MECH}, GSSException.FAILURE
GSSException