Интерфейс GSSName
public interface GSSName
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
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final Oid |
NT_ANONYMOUS |
Тип имени для представления анонимной сущности. |
static final Oid |
NT_EXPORT_NAME |
Тип имени, указывающий на экспортированное имя, созданное методом экспорта. |
static final Oid |
NT_HOSTBASED_SERVICE |
Oid, указывающий на форму имени службы на основе хоста. |
static final Oid |
NT_MACHINE_UID_NAME |
Тип имени, указывающий на числовой идентификатор пользователя локальной системы. |
static final Oid |
NT_STRING_UID_NAME |
Тип имени, указывающий на строку цифр, представляющую числовой идентификатор пользователя локальной системы. |
static final Oid |
NT_USER_NAME |
Тип имени, указывающий на именованного пользователя локальной системы. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
GSSName |
canonicalize |
Создает имя, канонизированное для определенного механизма. |
boolean |
equals |
Сравнивает этот объект GSSName с другим объектом, который может быть GSSName. |
boolean |
equals |
Сравнивает два объекта 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:
{ 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
Представляет следующее значение 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 с другим объектом, который может быть GSSName. Поведение полностью совпадает с поведением метода equals, за исключением того, что исключение GSSException не выбрасывается; вместо этого при возникновении ошибки возвращается false.hashCode
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
Экспортированное имя полезно при использовании в больших списках управления доступом, где затраты на создание объекта GSSName для каждого имени и вызов метода equals для каждого имени из ACL могут быть чрезмерными.
Экспортированные имена можно импортировать заново с помощью фабричного метода для массива байтов GSSManager.createName, указав NT_EXPORT_NAME в качестве идентификатора объекта типа имени. Полученное имя GSSName также будет MN.
- Возвращает:
- byte[], содержащий экспортированное имя. RFC 2743 определяет для этих байтов «формат объекта экспортированного имени, независимый от механизма».
- Вызывает исключение:
-
GSSException— содержит следующие основные коды ошибок:GSSException.BAD_NAME,GSSException.BAD_NAMETYPE,GSSException.FAILURE
toString
String toString()
GSSName. Чтобы получить формат печатного имени, определяющий синтаксис возвращаемой строки, используйте метод getStringNameType.getStringNameType
Oid getStringNameType() throws GSSException
toString.- Возвращает:
- Oid, представляющий пространство имен имени, возвращаемого методом toString.
- Вызывает исключение:
-
GSSException— содержит следующие основные коды ошибок:GSSException.FAILURE
isAnonymous
boolean isAnonymous()
- Возвращает:
- true, если это анонимное имя; в противном случае false.
isMN
boolean isMN()
- Возвращает:
- true, если это MN; в противном случае false.
© 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.security.jgss/org/ietf/jgss/GSSName.html