Spec-Zone.ru › OpenJDK 17

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

add

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

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

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

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

Parameters:
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.
Throws:
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
Parameters:
another - другой GSSCredential для сравнения с этим
Returns:
true если два GSSCredential утверждают одну и ту же сущность; false в противном случае.
See Also:
  • Object.hashCode()
  • HashMap

hashCode

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

© 1993, 2021, 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/17/docs/api/java.security.jgss/org/ietf/jgss/GSSCredential.html

Spec-Zone.ru

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