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