java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

org.ietf.jgss
接口 GSSName


public interface GSSName

此接口将封装单一的 GSS-API 主体实体。应用程序将通过存在于GSSManager 类中的 createName 方法之一来获取此接口的实现。从概念上讲,GSSName 包含实体,或许多基本名称元素的表示形式,每个受支持的基础机制包含一个这样的表示形式。在 GSS 术语中,仅包含来自一种机制中的元素的 GSSName 称为机制名称 (MN)

由于不同的身份验证会使用不同的名称空间标识其主体,所以在多机制环境中 GSS-API 的命名支持有必要复杂一些(或者说,即使在某些基础机制要支持多名称空间的单一机制环境中也是如此)。不同的名称格式及其定义将使用 Oid's 来标识,而一些标准类型将在此接口中定义。名称的格式可以基于其名称类型惟一的 Oid 派生出来。

下面的代码中包含一些利用 GSSName 接口的代码示例。以下代码创建了一个 GSSName,然后将其转换为 MN,通过比较,获取该名称的可打印表示形式,将其导出到字节数组,然后再重新导入以获取一个新的 GSSName

      GSSManager manager = GSSManager.getInstance();

      // create a host based service name
      GSSName name = manager.createName("service@host",
                   GSSName.NT_HOSTBASED_SERVICE);

      Oid krb5 = new Oid("1.2.840.113554.1.2.2");

      GSSName mechName = name.canonicalize(krb5);
   
      // the above two steps are equivalent to the following
      GSSName mechName = manager.createName("service@host",
                      GSSName.NT_HOSTBASED_SERVICE, krb5);
   
      // perform name comparison
      if (name.equals(mechName))
              print("Names are equals.");
   
      // obtain textual representation of name and its printable
      // name type
      print(mechName.toString() +
                      mechName.getStringNameType().toString());
   
      // export and re-import the name
      byte [] exportName = mechName.export();
   
      // create a new name object from the exported buffer
      GSSName newName = manager.createName(exportName,
                      GSSName.NT_EXPORT_NAME);
   
 

从以下版本开始:
1.4
另请参见:
export(), equals(GSSName), GSSManager.createName(String, Oid), GSSManager.createName(String, Oid, Oid), GSSManager.createName(byte[], Oid)

字段摘要
static Oid NT_ANONYMOUS
          表示匿名实体的名称类型。
static Oid NT_EXPORT_NAME
          用来表示通过导出方法产生的导出名称的名称类型。
static Oid NT_HOSTBASED_SERVICE
          表示基于主机的服务名称格式的 Oid。
static Oid NT_MACHINE_UID_NAME
          名称类型,表示与本地系统上的用户对应的数值型用户标识符。
static Oid NT_STRING_UID_NAME
          名称类型,指示一个由数字组成的字符串,表示本地系统上用户的数值型用户标识符。
static Oid NT_USER_NAME
          名称类型,表示在本地系统上指定的用户。
 
方法摘要
 GSSName canonicalize(Oid mech)
          创建一个针对某种机制而规范化的名称。
 boolean equals(GSSName another)
          比较两个 GSSName 对象,以确定它们是否指的是同一个实体。
 boolean equals(Object another)
          将此 GSSName 对象与可能是 GSSName 的另一个对象进行比较。
 byte[] export()
          返回机制名称 (MN) 的规范化连续字节表示形式,适合通过授权的功能进行直接的、逐字节比较。
 Oid getStringNameType()
          返回此名称的可打印表示形式的名称类型,此名称可从 toString 方法中获取。
 int hashCode()
          返回此 GSSName 的哈希码值。
 boolean isAnonymous()
          测试此名称对象是否表示匿名的实体。
 boolean isMN()
          测试此名称对象是否表示一个机制名称 (MN)。
 String toString()
          返回 GSSName 对象的文本表示形式。
 

字段详细信息

NT_HOSTBASED_SERVICE

static final Oid NT_HOSTBASED_SERVICE
表示基于主机的服务名称格式的 Oid。用来表示与主计算机相关的服务。此名称格式由两种元素构成,即“服务”和“主机名称”,如下所示:service@hostname.

它表示以下 Oid 值:
{ 1(iso), 3(org), 6(dod), 1(internet), 5(security), 6(nametypes), 2(gss-host-based-services) }


NT_USER_NAME

static final Oid NT_USER_NAME
名称类型,表示在本地系统上指定的用户。

它表示以下 Oid 值:
{ iso(1) member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) generic(1) user_name(1) }


NT_MACHINE_UID_NAME

static final Oid NT_MACHINE_UID_NAME
名称类型,表示与本地系统上的用户对应的数值型用户标识符。(例如,Uid)。

它表示以下 Oid 值:
{ iso(1) member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) generic(1) machine_uid_name(2) }


NT_STRING_UID_NAME

static final Oid NT_STRING_UID_NAME
名称类型,指示一个由数字组成的字符串,表示本地系统上用户的数值型用户标识符。

它表示以下 Oid 值:
{ iso(1) member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) generic(1) string_uid_name(3) }


NT_ANONYMOUS

static final Oid NT_ANONYMOUS
表示匿名实体的名称类型。

它表示以下 Oid 值:
{ 1(iso), 3(org), 6(dod), 1(internet), 5(security), 6(nametypes), 3(gss-anonymous-name) }


NT_EXPORT_NAME

static final Oid NT_EXPORT_NAME
用来表示通过导出方法产生的导出名称的名称类型。

它表示以下 Oid 值:
{ 1(iso), 3(org), 6(dod), 1(internet), 5(security), 6(nametypes), 4(gss-api-exported-name) }

方法详细信息

equals

boolean equals(GSSName another)
               throws GSSException
比较两个 GSSName 对象,以确定它们是否指的是同一个实体。

参数:
another - 将此名称与之比较的 GSSName
返回:
如果这两个名称至少包含一个共同的基本元素,则返回 true。如果这两个名称中的任一名称都表示匿名的实体,则该方法将返回 false。
抛出:
GSSException,当两个名称无法进行比较,包含以下主要错误代码时:{@link - GSSException#BAD_NAMETYPE GSSException.BAD_NAMETYPE}, GSSException.FAILURE
GSSException

equals

boolean equals(Object another)
将此 GSSName 对象与可能是 GSSName 的另一个对象进行比较。此行为与 equals 中的行为完全相同,除了没有 GSSException 抛出;而在出现错误时将返回 false。

覆盖:
Object 中的 equals
参数:
another - 将此名称与之进行比较的对象
返回:
如果将与之进行比较的对象也是 GSSName 并且两个名称都指的是同一个实体,则返回 true。
另请参见:
equals(GSSName)

hashCode

int hashCode()
返回此 GSSName 的哈希码值。

覆盖:
Object 中的 hashCode
返回:
哈希码值
另请参见:
Object.equals(java.lang.Object), Hashtable

canonicalize

GSSName canonicalize(Oid mech)
                     throws GSSException
创建一个针对某种机制而规范化的名称。

参数:
mech - 机制的 oid,要为该机制请求名称的规范化格式。
返回:
GSSName,它仅包含一种基本元素,该元素用所需机制的规范化格式表示此名称。
抛出:
GSSException,包含以下主要错误代码:{@link - GSSException#BAD_MECH GSSException.BAD_MECH}、@link GSSException#BAD_NAMETYPE GSSException.BAD_NAMETYPE}、@link GSSException#BAD_NAME GSSException.BAD_NAME}、@link GSSException#FAILURE GSSException.FAILURE}
GSSException

export

byte[] export()
              throws GSSException
返回机制名称 (MN) 的规范化连续字节表示形式,适合通过授权的功能进行直接的、逐字节比较。如果该名称不是 MN,则实现可能会抛出一个带有 NAME_NOT_MN 状态码的 GSSException。如果实现选择不抛出异常,则应该使用某些特定于系统的默认机制,以便规范化该名称,然后导出它。从结构上看,导出的名称对象由头部(它包含标识对名称进行验证的机制的 OID)和尾部(包含名称本身,其中,尾部的语法由每个机制规范定义)组成。输出缓冲的头的格式已在 RFC 2743 中指定。

当在较大的访问控制列表(在此情况下,可以削减在每个名称上创建 GSSName 对象和从 ACL 中调用每个名称上的 equals 方法的开销)中使用时,导出的名称非常有用。

通过使用字节数组 factory 方法 GSSManager.createName 并将 NT_EXPORT_NAME 指定为名称类型对象标识符,可以重新导入导出的名称。得到的 GSSName 名称还将是一个 MN。

返回:
一个包含导出的名称的 byte[]。RFC 2743 为这些字节定义了“Mechanism-Independent Exported Name Object Format”(独立于机制的导出名称对象格式)。
抛出:
GSSException,包含以下主要错误代码:{@link - GSSException#BAD_NAME GSSException.BAD_NAME}、GSSException.BAD_NAMETYPEGSSException.FAILURE
GSSException

toString

String toString()
返回 GSSName 对象的文本表示形式。要检索打印的名称格式(它确定了返回的字符串的语法),请使用 getStringNameType 方法。

覆盖:
Object 中的 toString
返回:
一个用可打印格式表示此名称的字符串。

getStringNameType

Oid getStringNameType()
                      throws GSSException
返回此名称的可打印表示形式的名称类型,此名称可从 toString 方法中获取。

返回:
一个表示从 toString 方法中返回的名称的名称空间的 Oid。
抛出:
GSSException,包含以下主要错误代码:{@link - GSSException#FAILURE GSSException.FAILURE}
GSSException

isAnonymous

boolean isAnonymous()
测试此名称对象是否表示匿名的实体。

返回:
如果它是一个匿名的名称,则返回 true,否则返回 false。

isMN

boolean isMN()
测试此名称对象是否表示一个机制名称 (MN)。MN 是一个仅包含一种机制的基本名称元素的 GSSName。

返回:
如果是 MN,则返回 true,否则返回 false。

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策