Класс 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
- Specified by:
-
destroyin interfaceDestroyable - Throws:
-
DestroyFailedException- если операция уничтожения завершилась неудачно.
isDestroyed
public boolean isDestroyed()
- Specified by:
-
isDestroyedin interfaceDestroyable - Returns:
- 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://download.java.net/java/early_access/jdk24/docs/api/java.security.jgss/javax/security/auth/kerberos/KerberosTicket.html