Класс KerberosTicket
- Все реализованные интерфейсы:
-
Serializable,Destroyable,Refreshable
public class KerberosTicket extends Object implements Destroyable, Refreshable, Serializable
Все модули входа JAAS Kerberos, которые аутентифицируют пользователя в KDC, должны использовать этот класс. В тех случаях, когда это доступно, модуль входа может даже читать эту информацию из кэша билетов в операционной системе вместо прямого общения с KDC. На стадии подтверждения процесса аутентификации JAAS, модуль входа JAAS должен создать этот класс и сохранить экземпляр в частном наборе аутентификационных данных Subject.
Возможно, приложению потребуется получить PrivateCredentialPermission, если ему необходимо получить доступ к экземпляру KerberosTicket из Subject. Это разрешение не требуется, когда приложение полагается на стандартный механизм Kerberos JGSS для доступа к KerberosTicket. Однако в этом случае приложению понадобится соответствующее ServicePermission.
Обратите внимание, что этот класс применим как к билетам запроса билета, так и к другим стандартным билетам на обслуживание. Бит запроса билета — это всего лишь частный случай более общего билета на обслуживание.
- Примечание по реализации:
- Модуль входа 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 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()
- Возвращает:
- тип ключа сессионного ключа, связанного с этим билетом.
- Исключения:
-
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
public String toString()
KerberosTicket.- Переопределяет:
-
toStringв классеObject - Возвращает:
- информативную текстовую строку, представляющую этот
KerberosTicket.
hashCode
public int hashCode()
KerberosTicket.- Overrides:
-
hashCodeв классеObject - Returns:
- хэш-код для этого
KerberosTicket. - Since:
- 1.6
- See Also:
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:
© 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