Package org.ietf.jgss

Interface GSSCredential

所有超接口:
Cloneable
所有已知子接口:
ExtendedGSSCredential

public interface GSSCredential extends Cloneable
该接口封装了实体的GSS-API凭据。凭据包含了启用代表其的实体创建上下文所需的所有必要的加密信息。它可能包含多个不同的、特定于机制的凭据元素,每个元素包含特定安全机制的信息,但都指向同一实体。凭据可用于执行上下文初始化、接受或两者。

凭据是使用GSSManager类中的createCredential方法之一实例化的。GSS-API凭据创建并不旨在提供“登录到网络”功能,因为这样的功能将涉及创建新凭据而不仅仅是获取对现有凭据的句柄。包级描述中关于凭据获取的部分描述了在Java平台上如何获取现有凭据。GSS-API实现必须对调用者施加本地访问控制策略,以防止未经授权的调用者获取他们无权访问的凭据。

应用程序将创建一个凭据对象,传递所需的参数。应用程序可以使用查询方法获取有关实例化的凭据对象的特定信息。当不再需要凭据时,应用程序应调用dispose方法来释放凭据对象持有的任何资源,并销毁任何具有密码敏感性的信息。

以下示例代码演示了为特定实体创建GSSCredential实现、查询其字段以及在不再需要时释放它的过程:

    GSSManager manager = GSSManager.getInstance();

    // 首先为实体创建一个名称对象
    GSSName name = manager.createName("myusername", GSSName.NT_USER_NAME);

    // 现在为实体获取凭据
    GSSCredential cred = manager.createCredential(name,
                    GSSCredential.ACCEPT_ONLY);

    // 显示凭据信息 - 名称、剩余生存时间,
    // 以及它已获取的机制
    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());
    }

    // 释放凭据所持有的系统资源
    cred.dispose();
 
自 JDK 版本:
1.4
另请参阅:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    请求凭据使用标志,要求仅用于上下文接受。
    static final int
    表示默认凭据生存期的生存期常量。
    static final int
    表示无限凭据生存期的生存期常量。
    static final int
    请求凭据使用标志,要求可用于上下文初始化和接受。
    static final int
    请求凭据使用标志,要求仅用于上下文初始化。
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(GSSName name, int initLifetime, int acceptLifetime, Oid mech, int usage)
    向现有凭据添加特定于机制的凭据元素。
    void
    释放GSSCredential对象可能包含的任何敏感信息。
    boolean
    equals(Object another)
    测试此GSSCredential是否断言与提供的对象相同的实体。
    Oid[]
    返回此凭据支持的机制列表。
    检索凭据断言的实体的名称。
    getName(Oid mech)
    检索凭据断言的实体的机制名称。
    int
    返回凭据使用指定机制保持能够接受安全上下文的秒数的生存期。
    int
    返回凭据使用指定机制保持能够初始化安全上下文的秒数的生存期。
    int
    返回凭据的剩余生存期(以秒为单位)。
    int
    返回凭据使用模式。
    int
    getUsage(Oid mech)
    返回特定机制的凭据使用模式。
    int
    返回此GSSCredential的哈希码值。
  • Field Details

    • 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
      另请参阅:
  • Method Details