Интерфейс 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 int ACCEPT_ONLY

Флаг использования данных аутентификации, запрашивающий, чтобы они были применимы только для акцепта контекста.

static int DEFAULT_LIFETIME

Константа времени жизни, представляющая стандартную продолжительность действия данных аутентификации.

static int INDEFINITE_LIFETIME

Константа времени жизни, представляющая неограниченную продолжительность действия данных аутентификации.

static int INITIATE_AND_ACCEPT

Флаг использования данных аутентификации, запрашивающий, чтобы они были применимы как для инициирования, так и для акцепта контекста.

static 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

add

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 ту же сущность, что и предоставленный объект. Два удостоверения должны быть получены через те же механизмы и должны относиться к одному и тому же субъекту.

Переопределяет:
equals в классе Object
Параметры:
another - другое GSSCredential для сравнения с этим
Возвращает:
true если два GSSCredential утверждают одну и ту же сущность; false в противном случае.
См. также:
Object.hashCode(), HashMap

hashCode

int hashCode()

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

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

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.security.jgss/org/ietf/jgss/GSSCredential.html

Spec-Zone .ru
спецификации, руководства, описания, API