Spec-Zone.ru › OpenJDK 27

Класс 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.

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

Примечание по реализации:
Модуль входа JAAS в эталонной реализации JDK уничтожает все билеты после выхода из системы.
С момента выпуска:
1.4
См. также:
  • Subject
  • 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()
Определяет, был ли этот билет выдан с использованием протокола обмена AS Kerberos, а не на основании какого-либо билета на выдачу билетов.
final boolean isPostdated()
Определяет, является ли этот билет отложенным.
final boolean isProxiable()
Определяет, можно ли использовать этот билет в качестве прокси.
final boolean isProxy()
Определяет, является ли этот билет прокси-билетом.
final boolean isRenewable()
Определяет, можно ли продлить этот билет.
void refresh()
Продлевает срок действия этого билета.
String toString()
Возвращает информативное текстовое представление этого KerberosTicket.

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Финализация устарела и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного периода реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения заданного периода реального времени.

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

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()
Определяет, был ли этот билет выдан с использованием протокола обмена AS Kerberos, а не на основании какого-либо билета на выдачу билетов.
Возвращает:
true, если этот билет был выдан с использованием протокола обмена AS Kerberos; 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.
Переопределяет:
hashCode в классе Object
Возвращает:
хеш-код для этого KerberosTicket
С момента выпуска:
1.6
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

equals

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, обзоры основных концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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.

Spec-Zone.ru

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