Spec-Zone.ru › OpenJDK 21

Класс KerberosTicket

java.lang.Object
javax.security.auth.kerberos.KerberosTicket
Все реализованные интерфейсы:
Serializable, Destroyable, Refreshable
public class KerberosTicket extends Object implements Destroyable, Refreshable, Serializable
Этот класс инкапсулирует билет Kerberos и связанную информацию с точки зрения клиента. Он захватывает всю информацию, которую Центр распределения ключей (KDC) отправляет клиенту в ответном сообщении KDC-REP, определенном в спецификации протокола Kerberos (RFC 4120).

Все модули входа JAAS Kerberos, которые аутентифицируют пользователя в KDC, должны использовать этот класс. В тех случаях, когда это доступно, модуль входа может даже читать эту информацию из кэша билетов в операционной системе вместо прямого общения с KDC. На стадии подтверждения процесса аутентификации JAAS, модуль входа JAAS должен создать этот класс и сохранить экземпляр в частном наборе аутентификационных данных Subject.

Возможно, приложению потребуется получить PrivateCredentialPermission, если ему необходимо получить доступ к экземпляру KerberosTicket из Subject. Это разрешение не требуется, когда приложение полагается на стандартный механизм Kerberos JGSS для доступа к KerberosTicket. Однако в этом случае приложению понадобится соответствующее ServicePermission.

Обратите внимание, что этот класс применим как к билетам запроса билета, так и к другим стандартным билетам на обслуживание. Бит запроса билета — это всего лишь частный случай более общего билета на обслуживание.

Примечание по реализации:
Модуль входа JAAS в JDK-реализации уничтожает все билеты после выхода из системы.
С:
1.4
См. также:
  • Subject
  • PrivateCredentialPermission
  • LoginContext
  • GSSCredential
  • GSSManager
  • Формат сериализации

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

Конструктор Описание
KerberosTicket(byte[] asn1Encoding, KerberosPrincipal client, KerberosPrincipal server, byte[] sessionKey, int keyType, boolean[] flags, Date authTime, Date startTime, Date endTime, Date renewTill, InetAddress[] clientAddresses)
Создаёт KerberosTicket используя информацию об учетных данных, полученную клиентом от KDC или прочитанную из кэша.

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

Модификатор и тип Метод Описание
void destroy()
Уничтожает билет и любые хранящиеся в нём конфиденциальные данные.
boolean equals(Object other)
Сравнивает указанный объект с этим KerberosTicket на равенство.
final Date getAuthTime()
Возвращает время аутентификации клиента.
final KerberosPrincipal getClient()
Возвращает принципал клиента, связанный с этим билетом.
final InetAddress[] getClientAddresses()
Возвращает список адресов, с которых можно использовать билет.
final byte[] getEncoded()
Возвращает кодировку билета целиком в ASN.1.
final Date getEndTime()
Возвращает время истечения срока действия этого билета.
final boolean[] getFlags()
Возвращает флаги, связанные с этим билетом.
final Date getRenewTill()
Возвращает последнее время истечения срока действия билета, включая все продления.
final KerberosPrincipal getServer()
Возвращает принципал сервиса, связанный с этим билетом.
final SecretKey getSessionKey()
Возвращает сессионный ключ, связанный с этим билетом.
final int getSessionKeyType()
Возвращает тип ключа сессионного ключа, связанного с этим билетом, как определено в спецификации протокола Kerberos.
final Date getStartTime()
Возвращает начальное время срока действия этого билета.
int hashCode()
Возвращает хэш-код для этого KerberosTicket.
boolean isCurrent()
Определяет, является ли этот билет актуальным.
boolean isDestroyed()
Определяет, был ли этот билет уничтожен.
final boolean isForwardable()
Определяет, является ли этот билет переадресовываемым.
final boolean isForwarded()
Определяет, был ли этот билет переадресован или выдан на основе аутентификации, включающей переадресованный билет-запрос билета.
final boolean isInitial()
Определяет, был ли этот билет выдан с использованием протокола Kerberos AS-Exchange, а не на основе какого-либо билета-запроса билета.
final boolean isPostdated()
Определяет, является ли этот билет с просроченной датой.
final boolean isProxiable()
Определяет, является ли этот билет переадресовываемым.
final boolean isProxy()
Определяет, является ли этот билет билетом-прокси.
final boolean isRenewable()
Определяет, может ли быть обновлен этот билет.
void refresh()
Продлевает срок действия этого билета.
String toString()
Возвращает информативную текстовую строку представления этого KerberosTicket.

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

KerberosTicket

public KerberosTicket(byte[] asn1Encoding, KerberosPrincipal client, KerberosPrincipal server, byte[] sessionKey, int keyType, boolean[] flags, Date authTime, Date startTime, Date endTime, Date renewTill, InetAddress[] clientAddresses)
Создаёт KerberosTicket, используя информацию о креденциалах, полученную клиентом от KDC или из кэша.
Параметры:
asn1Encoding - ASN.1 кодирование билета, определённое спецификацией Kerberos протокола.
client - клиент, которому принадлежит этот билет на обслуживание.
server - служба, для которой предназначен этот билет.
sessionKey - сырые байты для сессионного ключа, который необходимо использовать для шифрования аутентификатора, который будет отправлен серверу.
keyType - тип ключа для сессионного ключа, определённый спецификацией Kerberos протокола.
flags - флаги билета. Каждый элемент в этом массиве указывает значение соответствующего бита в ASN.1 BitString, представляющем флаги билета. Если количество элементов в этом массиве меньше количества флагов, используемых протоколом Kerberos, то недостающие флаги будут заполнены значением false.
authTime - время первоначальной аутентификации клиента.
startTime - время, после которого билет будет действителен. Может быть null, в этом случае значение authTime используется как startTime.
endTime - время, после которого билет больше не будет действителен.
renewTill - абсолютное время истечения срока действия билета, включая все возможные продления. Для невозобновляемых билетов это поле может быть null.
clientAddresses - адреса, с которых билетом может воспользоваться клиент. Это поле может быть null, если билет может использоваться с любого адреса.

Подробное описание методов

getClient

public final KerberosPrincipal getClient()
Возвращает принципал клиента, связанный с этим билетом.
Возвращает:
принципал клиента или null, если он уничтожен.

getServer

public final KerberosPrincipal getServer()
Возвращает принципал службы, связанный с этим билетом.
Возвращает:
принципал службы или null, если он уничтожен.

getSessionKey

public final SecretKey getSessionKey()
Возвращает сессионный ключ, связанный с этим билетом. Возвращаемое значение всегда является объектом EncryptionKey.
Возвращает:
сессионный ключ.
Исключения:
IllegalStateException - если этот билет уничтожен

getSessionKeyType

public final int getSessionKeyType()
Возвращает тип ключа сессионного ключа, связанного с этим билетом, как определено в спецификации Kerberos протокола.
Возвращает:
тип ключа сессионного ключа, связанного с этим билетом.
Исключения:
IllegalStateException - если этот билет уничтожен
См. также:
  • getSessionKey()

isForwardable

public final boolean isForwardable()
Определяет, может ли этот билет быть перенаправлен.
Возвращает:
true, если билет может быть перенаправлен, или false, если он не может быть перенаправлен или уничтожен.

isForwarded

public final boolean isForwarded()
Определяет, был ли этот билет перенаправлен или выпущен на основе аутентификации, включающей перенаправленный билет-сертификат.
Возвращает:
true, если билет был перенаправлен или выпущен на основе аутентификации, включающей перенаправленный билет-сертификат, в противном случае false или если билет уничтожен.

isProxiable

public final boolean isProxiable()
Определяет, может ли этот билет быть проксирован.
Возвращает:
true, если билет может быть проксирован, или false, если он не может быть проксирован или уничтожен.

isProxy

public final boolean isProxy()
Определяет, является ли этот билет билетом-прокси.
Возвращает:
true, если этот билет является билетом-прокси, в противном случае false или если билет уничтожен.

isPostdated

public final boolean isPostdated()
Определяет, имеет ли этот билет просроченную дату.
Возвращает:
true, если билет имеет просроченную дату, в противном случае false или если билет уничтожен.

isRenewable

public final boolean isRenewable()
Определяет, может ли этот билет быть возобновлён. Если да, то может быть вызван метод refresh, при условии, что срок действия возобновления ещё не истек.
Возвращает:
true, если билет может быть возобновлён, в противном случае false или если билет уничтожен.

isInitial

public final boolean isInitial()
Определяет, был ли этот билет выдан с использованием протокола Kerberos AS-Exchange, а не на основе билета-сертификата.
Возвращает:
true, если билет был выдан с использованием протокола Kerberos AS-Exchange, в противном случае false или если билет уничтожен.

getFlags

public final boolean[] getFlags()
Возвращает флаги, связанные с этим билетом. Каждый элемент возвращаемого массива указывает значение соответствующего бита в ASN.1 BitString, представляющем флаги билета.
Возвращает:
флаги, связанные с этим билетом, или null если билет уничтожен.

getAuthTime

public final Date getAuthTime()
Возвращает время аутентификации клиента.
Возвращает:
время аутентификации клиента или null если поле не установлено или билет уничтожен.

getStartTime

public final Date getStartTime()
Возвращает время начала периода действия этого билета.
Возвращает:
время начала периода действия билета или null если поле не установлено или билет уничтожен.

getEndTime

public final Date getEndTime()
Возвращает время истечения срока действия этого билета.
Возвращает:
время истечения срока действия билета или null если билет уничтожен.

getRenewTill

public final Date getRenewTill()
Возвращает последнее время истечения срока действия этого билета, включая все продления. Для невозобновляемых билетов вернёт null.
Возвращает:
последнее время истечения срока действия билета или null если билет уничтожен.

getClientAddresses

public final InetAddress[] getClientAddresses()
Возвращает список адресов, с которых билетом может воспользоваться клиент.
Возвращает:
список адресов или null если поле не было предоставлено или билет уничтожен.

getEncoded

public final byte[] getEncoded()
Возвращает ASN.1 кодирование всего билета.
Возвращает:
ASN.1 кодирование всего билета. Новый массив байтов возвращается каждый раз, когда вызывается этот метод.
Исключения:
IllegalStateException - если этот билет уничтожен

isCurrent

public boolean isCurrent()
Определяет, действителен ли этот билет.
Определено в:
isCurrent в интерфейсе Refreshable
Возвращает:
true, если этот билет действителен, в противном случае false или если билет уничтожен.

refresh

public void refresh() throws RefreshFailedException
Расширяет период действия этого билета. Билет будет содержать новый сессионный ключ, если операция обновления прошла успешно. Операция обновления не удастся, если билет не подлежит возобновлению или срок возобновления уже истек. Любая другая ошибка, возвращённая KDC, также приведёт к неудаче этого метода. Примечание: Этот метод не синхронизирован с методами-обработчиками этого объекта. Поэтому вызывающие стороны должны быть осведомлены о нескольких потоках, которые могут получить доступ к этому и попытаться обновить его одновременно.
Определено в:
refresh в интерфейсе Refreshable
Исключения:
IllegalStateException - если этот билет уничтожен
RefreshFailedException - если билет не может быть возобновлен, или срок возобновления уже истек, или KDC возвращает ошибку.
См. также:
  • isRenewable()
  • getRenewTill()

destroy

public void destroy() throws DestroyFailedException
Уничтожает билет и уничтожает любые конфиденциальные данные, хранящиеся в нём.
Определено в:
destroy в интерфейсе Destroyable
Исключения:
DestroyFailedException - если операция уничтожения завершилась ошибкой.

isDestroyed

public boolean isDestroyed()
Определяет, был ли этот билет уничтожен.
Определено в:
isDestroyed в интерфейсе Destroyable
Возвращает:
true, если этот Object был уничтожен, в противном случае false.

toString

public String toString()
Возвращает информативную текстовую строку, представляющую этот KerberosTicket.
Переопределяет:
toString в классе Object
Возвращает:
информативную текстовую строку, представляющую этот KerberosTicket.

hashCode

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

equals

public boolean equals(Object other)
Сравнивает указанный объект с этим KerberosTicket на равенство. Возвращает true, если данный объект также является KerberosTicket и два экземпляра KerberosTicket эквивалентны. Уничтоженный объект KerberosTicket равен только самому себе.
Overrides:
equals в классе Object
Parameters:
other - объект для сравнения
Returns:
true, если указанный объект равен этому KerberosTicket, иначе false.
Since:
1.6
See Also:
  • Object.hashCode()
  • HashMap

© 1993, 2023, 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/21/docs/api/java.security.jgss/javax/security/auth/kerberos/KerberosTicket.html

Spec-Zone.ru

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