Spec-Zone.ru › OpenJDK 24

Интерфейс GSSCredential

Все суперинтерфейсы:
Cloneable
Все известные подинтерфейсы:
ExtendedGSSCredential
public interface GSSCredential extends Cloneable
Этот интерфейс инкапсулирует данные аутентификации GSS-API для сущности. Данные аутентификации содержат всю необходимую криптографическую информацию, позволяющую создать контекст от имени сущности, которую они представляют. Они могут содержать несколько отдельных элементов аутентификации, специфичных для механизма, каждый из которых содержит информацию для определённого механизма безопасности, но все они относятся к одной и той же сущности. Данные аутентификации могут использоваться для инициирования, принятия или того и другого контекста.

Аутентификационные данные создаются с помощью одного из createCredential методов в классе GSSManager. Создание данных аутентификации GSS-API не предназначено для выполнения функции "входа в сеть", так как такая функция предполагала бы создание новых данных аутентификации, а не просто получение ссылки на существующие данные. Раздел о получении существующих данных аутентификации в описании пакета описывает, как получить существующие данные аутентификации в платформе Java. Реализации 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 final int ACCEPT_ONLY
Флаг использования данных аутентификации, запрашивающий, чтобы они использовались только для принятия контекста.
static final int DEFAULT_LIFETIME
Постоянная времени жизни, представляющая стандартное время жизни данных аутентификации.
static final int INDEFINITE_LIFETIME
Постоянная времени жизни, представляющая неопределённое время жизни данных аутентификации.
static final int INITIATE_AND_ACCEPT
Флаг использования данных аутентификации, запрашивающий, чтобы они использовались для инициирования и принятия контекста.
static final int INITIATE_ONLY
Флаг использования данных аутентификации, запрашивающий, чтобы они использовались только для инициирования контекста.

Краткое описание методов

Модификатор и тип Метод Описание
void add(GSSName name, int initLifetime, int acceptLifetime, Oid mech, int usage)
Добавляет элемент аутентификации, специфичный для механизма, к существующим данным аутентификации.
void dispose()
Освобождает любые чувствительные данные, которые может содержать объект GSSCredential.
boolean equals(Object another)
Проверяет, утверждает ли этот GSSCredential ту же сущность, что и переданный объект.
Oid[] getMechs()
Возвращает список поддерживаемых механизмов данной аутентификации.
GSSName getName()
Возвращает имя сущности, которую утверждают данные аутентификации.
GSSName getName(Oid mech)
Возвращает имя механизма сущности, которую утверждают данные аутентификации.
int getRemainingAcceptLifetime(Oid mech)
Возвращает время жизни в секундах, в течение которого данные аутентификации остаются способными принимать контексты безопасности с использованием указанного механизма.
int getRemainingInitLifetime(Oid mech)
Возвращает время жизни в секундах, в течение которого данные аутентификации остаются способными инициировать контексты безопасности с использованием указанного механизма.
int getRemainingLifetime()
Возвращает оставшееся время жизни данных аутентификации в секундах.
int getUsage()
Возвращает режим использования данных аутентификации.
int getUsage(Oid mech)
Возвращает режим использования данных аутентификации для определённого механизма.
int hashCode()
Возвращает значение хэш-кода для данного 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 - содержащий следующие основные коды ошибок: GSSException.FAILURE

getName

GSSName getName() throws GSSException
Возвращает имя сущности, которое утверждает идентификатор.
Возвращает:
объект GSSName, представляющий сущность
Исключение:
GSSException - содержащий следующие основные коды ошибок: GSSException.FAILURE

getName

GSSName getName(Oid mech) throws GSSException
Возвращает имя механизма сущности, которую утверждает идентификатор. Это эквивалентно вызову canonicalize над значением, возвращаемым другой формой getName.
Параметры:
mech - Oid механизма, для которого должно быть возвращено имя механизма.
Возвращает:
объект GSSName, представляющий сущность, канонизированную для желаемого механизма
Исключение:
GSSException - содержащий следующие основные коды ошибок: GSSException.BAD_MECH, GSSException.FAILURE

getRemainingLifetime

int getRemainingLifetime() throws GSSException
Возвращает оставшийся срок действия идентификатора в секундах. Оставшийся срок действия — это минимальный срок действия среди всех элементов идентификатора, специфичных для подлежащего механизма.
Возвращает:
минимальный оставшийся срок действия этого идентификатора в секундах. Возвращаемое значение INDEFINITE_LIFETIME указывает, что идентификатор не истекает. Возвращаемое значение 0 указывает, что идентификатор уже истек.
Исключение:
GSSException - содержащий следующие основные коды ошибок: GSSException.FAILURE
См. также:
  • getRemainingInitLifetime(Oid)
  • getRemainingAcceptLifetime(Oid)

getRemainingInitLifetime

int getRemainingInitLifetime(Oid mech) throws GSSException
Возвращает срок действия в секундах, на который идентификатор остаётся способным инициировать контексты безопасности с использованием указанного механизма. Этот метод запросит элемент инициатора идентификатора, принадлежащий указанному механизму.
Параметры:
mech - Oid механизма, элемент инициатора идентификатора которого нужно запросить.
Возвращает:
количество секунд, оставшихся в жизни этого элемента идентификатора. Возвращаемое значение INDEFINITE_LIFETIME указывает, что элемент идентификатора не истекает. Возвращаемое значение 0 указывает, что элемент идентификатора уже истек.
Исключение:
GSSException - содержащий следующие основные коды ошибок: GSSException.BAD_MECH, GSSException.FAILURE

getRemainingAcceptLifetime

int getRemainingAcceptLifetime(Oid mech) throws GSSException
Возвращает срок действия в секундах, на который идентификатор остаётся способным принимать контексты безопасности с использованием указанного механизма. Этот метод запросит элемент акцептора идентификатора, принадлежащий указанному механизму.
Параметры:
mech - Oid механизма, элемент акцептора идентификатора которого нужно запросить.
Возвращает:
количество секунд, оставшихся в жизни этого элемента идентификатора. Возвращаемое значение INDEFINITE_LIFETIME указывает, что элемент идентификатора не истекает. Возвращаемое значение 0 указывает, что элемент идентификатора уже истек.
Исключение:
GSSException - содержащий следующие основные коды ошибок: GSSException.BAD_MECH, GSSException.FAILURE

getUsage

int getUsage() throws GSSException
Возвращает режим использования идентификатора. Другими словами, он сообщает нам, можно ли использовать этот идентификатор для инициирования или принятия контекстов безопасности. Он не говорит нам, какой(ие) механизм(ы) необходимо использовать для этого. Ожидается, что приложение позволит GSS-API выбрать механизм по умолчанию после вызова этого метода.
Возвращает:
Возвращаемое значение будет одним из INITIATE_ONLY, ACCEPT_ONLY и INITIATE_AND_ACCEPT.
Исключение:
GSSException - содержащий следующие основные коды ошибок: GSSException.FAILURE

getUsage

int getUsage(Oid mech) throws GSSException
Возвращает режим использования идентификатора для определённого механизма. Другими словами, он сообщает нам, можно ли использовать этот идентификатор для инициирования или принятия контекстов безопасности с данным подлежащим механизмом.
Параметры:
mech - Oid механизма, режим использования идентификатора которого нужно определить.
Возвращает:
Возвращаемое значение будет одним из INITIATE_ONLY, ACCEPT_ONLY и INITIATE_AND_ACCEPT.
Исключение:
GSSException - содержащий следующие основные коды ошибок: GSSException.BAD_MECH, GSSException.FAILURE

getMechs

Oid[] getMechs() throws GSSException
Возвращает список механизмов, поддерживаемых этим идентификатором. Он не говорит нам, какие из них можно использовать для инициирования контекстов, а какие — для их принятия. Приложение должно вызвать метод getUsage с каждым из возвращённых Oid, чтобы определить возможные режимы использования.
Возвращает:
массив Oid, соответствующих поддерживаемым механизмам.
Исключение:
GSSException - содержащий следующие основные коды ошибок: GSSException.FAILURE

добавить

void add(GSSName name, int initLifetime, int acceptLifetime, Oid mech, int usage) throws GSSException
Добавляет элемент механизма, специфичный для учетных данных, в существующие учетные данные. Этот метод позволяет построить учетные данные по одному механизму за раз.

Этот метод предназначен в основном для приемников контекста при создании учетных данных приемника, которые будут использоваться различными клиентами, использующими различные механизмы безопасности.

Этот метод добавляет новый элемент учетных данных "на месте". Чтобы добавить элемент в новые учетные данные, сначала вызовите метод clone для получения копии этих учетных данных, а затем вызовите его метод add.

Как всегда, реализации GSS-API должны применять локальную политику контроля доступа к вызывающим сторонам, чтобы предотвратить несанкционированное получение учетных данных, на которые они не имеют права. Значения по умолчанию для initLifetime и acceptLifetime не всегда могут быть учтены базовыми механизмами, поэтому вызывающие стороны должны быть готовы вызывать getRemainingInitLifetime и getRemainingAcceptLifetime на учетных данных.

Параметры:
name — имя принципала, для которого необходимо получить эти учетные данные. Используйте null для указания принципала по умолчанию.
initLifetime — количество секунд, в течение которого элемент учетных данных должен оставаться действительным для инициирования контекстов безопасности. Используйте GSSCredential.INDEFINITE_LIFETIME, чтобы запросить максимальный допустимый срок действия учетных данных для этого. Используйте GSSCredential.DEFAULT_LIFETIME, чтобы запросить срок действия учетных данных по умолчанию для этого.
acceptLifetime — количество секунд, в течение которого элемент учетных данных должен оставаться действительным для приема контекстов безопасности. Используйте GSSCredential.INDEFINITE_LIFETIME, чтобы запросить максимальный допустимый срок действия учетных данных для этого. Используйте GSSCredential.DEFAULT_LIFETIME, чтобы запросить срок действия учетных данных по умолчанию для этого.
mech — механизм, через который необходимо получить учетные данные.
usage — режим использования, который этот элемент учетных данных должен добавить к учетным данным. Значение этого параметра должно быть одним из: INITIATE_AND_ACCEPT, ACCEPT_ONLY и INITIATE_ONLY.
Исключения:
GSSException — содержащий следующие основные коды ошибок: GSSException.DUPLICATE_ELEMENT, GSSException.BAD_MECH, GSSException.BAD_NAMETYPE, GSSException.NO_CRED, GSSException.CREDENTIALS_EXPIRED, GSSException.FAILURE

equals

boolean equals(Object another)
Проверяет, утверждает ли этот GSSCredential ту же сущность, что и предоставленный объект. Два набора учетных данных должны быть получены через одни и те же механизмы и должны относиться к одному и тому же принципалу.
Overrides:
equals в классе Object
Параметры:
another — другой GSSCredential для сравнения с этим
Возвращает:
true, если два GSSCredential утверждают одну и ту же сущность; false в противном случае.
См. также:
  • Object.hashCode()
  • HashMap

hashCode

int hashCode()
Возвращает значение хэш-кода для этого GSSCredential.
Overrides:
hashCode в классе Object
Возвращает:
значение хэш-кода для этого GSSCredential
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

Отправить сообщение об ошибке или предложить улучшение
Для получения дополнительной информации по API и документации для разработчиков см. Документацию Java SE, которая содержит более подробные описания для разработчиков с концептуальными обзорами, определениями терминов, обходными путями и примерами работоспособного кода. Другие версии.
Java — торговая марка или зарегистрированная торговая марка Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 США.
Все права защищены. Использование регулируется условиями лицензии и политикой перераспределения документации.
DRAFT 24-ea+36-Debian-1

© 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://download.java.net/java/early_access/jdk24/docs/api/java.security.jgss/org/ietf/jgss/GSSCredential.html

Spec-Zone.ru

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