Spec-Zone.ru › OpenJDK 8

Интерфейс GSSName


public interface GSSName

Этот интерфейс инкапсулирует единственный главный объект GSS-API. Приложение получает реализацию этого интерфейса через один из createName методов, существующих в классе GSSManager. Понятийно, 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 с другим объектом Object, который может быть объектом 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» следующим образом: service@hostname.

Представляет следующую Oid-значение:
{ iso(1) member-body(2) United States(840) mit(113554) infosys(1) gssapi(2) generic(1) service_name(4) }

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 - когда имена нельзя сравнить, содержащие следующие основные коды ошибок: GSSException.BAD_NAMETYPE, GSSException.FAILURE

equals

boolean equals(Object another)

Сравнивает этот объект GSSName с другим объектом Object, который может быть GSSName. Поведение точно такое же, как в equals, за исключением того, что не выбрасывается GSSException; вместо этого в ситуации возникновения ошибки будет возвращено false.

Переопределяет:
equals в классе Object
Параметры:
another - объект, с которым сравнивается это имя
Возвращает:
true, если сравниваемый объект также является GSSName и два имени ссылаются на один и тот же объект.
См. также:
equals(GSSName)

hashCode

int hashCode()

Возвращает значение хеш-кода для этого GSSName.

Переопределяет:
hashCode в классе Object
Возвращает:
значение hashCode
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

canonicalize

GSSName canonicalize(Oid mech)
              throws GSSException

Создаёт имя, канонизированное для некоторого механизма.

Параметры:
mech - oid для механизма, для которого запрашивается каноническая форма имени.
Возвращает:
объект GSSName, содержащий только один примитивный элемент, представляющий это имя в канонизированной форме для нужного механизма.
Выбрасывает:
GSSException - содержащие следующие основные коды ошибок: GSSException.BAD_MECH, GSSException.BAD_NAMETYPE, GSSException.BAD_NAME, GSSException.FAILURE

export

byte[] export()
       throws GSSException

Возвращает каноническое непрерывное байтовое представление имени механизма (MN), подходящее для прямого байтового сравнения функциями авторизации. Если имя не является MN, реализации могут выбросить GSSException с кодом состояния NAME_NOT_MN. Если реализация выбирает не выбрасывать исключение, она должна использовать некоторый конкретный для системы механизм для канонизации имени и затем экспортировать его. Структурно, объект экспортированного имени состоит из заголовка, содержащего OID, идентифицирующего механизм, который аутентифицировал имя, и трейлера, содержащего само имя, где синтаксис трейлера определён отдельной спецификацией механизма. Формат заголовка выходного буфера указан в RFC 2743.

Экспортированное имя полезно при использовании в больших списках управления доступом, где накладные расходы на создание объекта GSSName для каждого имени и вызов метода equals для каждого имени из списка управления доступом могут быть значительными.

Экспортированные имена могут быть повторно импортированы с помощью фабричного метода массива байтов GSSManager.createName и указанием NT_EXPORT_NAME в качестве объекта OID типа имени. Результирующее имя GSSName также будет MN.

Возвращает:
массив байтов byte[] содержащий экспортированное имя. RFC 2743 определяет "Формат объекта экспортированного механизма, независимого от механизма" для этих байтов.
Выбрасывает:
GSSException - содержащие следующие основные коды ошибок: GSSException.BAD_NAME, GSSException.BAD_NAMETYPE, GSSException.FAILURE

toString

String toString()

Возвращает текстовое представление объекта GSSName. Чтобы получить формат напечатанного имени, который определяет синтаксис возвращаемой строки, используйте метод getStringNameType.

Переопределяет:
toString в классе Object
Возвращает:
строку String, представляющую это имя в печатном виде.

getStringNameType

Oid getStringNameType()
               throws GSSException

Возвращает тип имени печатного представления этого имени, который можно получить из метода toString.

Возвращает:
OID, представляющий пространство имён имени, возвращённого методом toString.
Выбрасывает:
GSSException - содержащие следующий основной код ошибки: GSSException.FAILURE

isAnonymous

boolean isAnonymous()

Проверяет, представляет ли этот объект имени анонимный объект.

Возвращает:
true, если это анонимное имя, иначе false.

isMN

boolean isMN()

Проверяет, представляет ли этот объект имени имя механизма (MN). MN — это GSSName, который содержит ровно один примитивный элемент имени механизма.

Возвращает:
true, если это MN, иначе false.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API