Класс KerberosTicket
- Все реализуемые интерфейсы:
Serializable, Destroyable, Refreshable
public class KerberosTicket extends Object implements Destroyable, Refreshable, Serializable
Все модули входа JAAS для Kerberos, которые выполняют аутентификацию пользователя в KDC, должны использовать этот класс. Если это возможно, модуль входа может считывать эти сведения из кэша билетов операционной системы, а не обмениваться данными с KDC напрямую. На этапе фиксации процесса аутентификации JAAS модуль входа JAAS должен создать экземпляр этого класса и сохранить его в наборе закрытых учётных данных объекта Subject.
Обратите внимание, что этот класс применим как к билетам выдачи билетов, так и к другим обычным сервисным билетам. Билет выдачи билетов — это частный случай более общего сервисного билета.
- Примечание по реализации:
- Модуль входа JAAS в эталонной реализации JDK уничтожает все билеты после выхода из системы.
- С версии:
- 1.4
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
KerberosTicket |
Создаёт KerberosTicket, используя сведения об учётных данных, которые клиент получает от KDC или считывает из кэша. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
destroy() |
Уничтожает билет и любые хранящиеся в нём конфиденциальные сведения. |
boolean |
equals |
Сравнивает указанный объект с этим 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. |
Подробное описание конструкторов
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()
- Возвращает:
- тип сеансового ключа, связанного с этим билетом.
- Вызывает:
-
IllegalStateException— если билет уничтожен - См. также:
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()
- Возвращает:
- true, если этот билет был выдан с использованием протокола Kerberos AS-Exchange, или false, если он был выдан иначе либо уничтожен.
getFlags
public final boolean[] getFlags()
- Возвращает:
- флаги, связанные с этим билетом, или
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, если билет уничтожен.
getClientAddresses
public final InetAddress[] getClientAddresses()
- Возвращает:
- список адресов или
null, если поле не предоставлено или билет уничтожен.
getEncoded
public final byte[] getEncoded()
- Возвращает:
- кодировку всего билета в формате ASN.1. При каждом вызове этого метода возвращается новый массив байтов.
- Вызывает:
-
IllegalStateException— если билет уничтожен
isCurrent
public boolean isCurrent()
- Определён в:
-
isCurrentв интерфейсеRefreshable - Возвращает:
- true, если этот билет ещё действует, или false, если он больше не действует либо уничтожен.
refresh
public void refresh() throws RefreshFailedException
- Определён в:
-
refreshв интерфейсеRefreshable - Вызывает:
-
IllegalStateException— если билет уничтожен -
RefreshFailedException— если билет нельзя продлевать, истёк самый поздний допустимый срок продления или KDC возвращает ошибку. - См. также:
destroy
public void destroy() throws DestroyFailedException
- Определён в:
-
destroyв интерфейсеDestroyable - Вызывает:
-
DestroyFailedException— если операция уничтожения завершается ошибкой.
isDestroyed
public boolean isDestroyed()
- Определён в:
-
isDestroyedв интерфейсеDestroyable - Возвращает:
- true, если этот
Objectбыл уничтожен, и false в противном случае.
toString
hashCode
equals
public boolean equals(Object other)
KerberosTicket на равенство. Возвращает true, если переданный объект также является KerberosTicket и оба экземпляра KerberosTicket эквивалентны. Уничтоженный объект KerberosTicket равен только самому себе.
© 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