Spec-Zone.ru › OpenJDK 25

Класс 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()
Определяет, был ли этот билет выдан с использованием протокола Kerberos AS-Exchange, а не на основе какого-либо билета выдачи билетов.
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

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

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, представляющей флаги билета. Если число элементов в массиве меньше числа флагов, используемых протоколом 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, представляющей флаги билета.
Возвращает:
флаги, связанные с этим билетом, или 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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.security.jgss/javax/security/auth/kerberos/KerberosTicket.html

Spec-Zone.ru

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