Класс KerberosTicket
- Все реализуемые интерфейсы:
-
Serializable,Destroyable,Refreshable
public class KerberosTicket extends Object implements Destroyable, Refreshable, Serializable
Все модули входа JAAS Kerberos, которые аутентифицируют пользователя в KDC, должны использовать этот класс. В случае возможности модуль входа может даже читать эту информацию из кэша билетов в операционной системе вместо прямого взаимодействия с KDC. На стадии подтверждения процесса аутентификации JAAS, модуль входа JAAS должен создать экземпляр этого класса и сохранить экземпляр в частном наборе данных Subject.
Приложение может потребовать PrivateCredentialPermission для доступа к экземпляру KerberosTicket из Subject. Это разрешение не требуется, когда приложение полагается на стандартный механизм JGSS Kerberos для доступа к 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 - Возвращает:
- хеш-код для этого
KerberosTicket. - Since:
- 1.6
- См. также:
equals
public boolean equals(Object other)
KerberosTicket на равенство. Возвращает true, если данный объект также является KerberosTicket и два экземпляра KerberosTicket эквивалентны. Уничтоженный объект KerberosTicket равен только самому себе.- Overrides:
-
equalsв классеObject - Параметры:
-
other- объект для сравнения - Возвращает:
- true, если указанный объект равен этому
KerberosTicket, иначе false. - Since:
- 1.6
- См. также:
© 1993, 2021, 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/17/docs/api/java.security.jgss/javax/security/auth/kerberos/KerberosTicket.html