Интерфейс GSSCredential
- Все суперинтерфейсы:
- Cloneable
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.
- См. также:
- Значения постоянных полей
БЕССРОЧНЫЙ_СРОК_ДЕЙСТВИЯ
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()
Возвращает значение hashcode для этого GSSCredential.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение hashCode
- См. также:
-
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.