Spec-Zone.ru › OpenJDK 8

Класс 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.

Приложению может потребоваться разрешение PrivateCredentialPermission, если ему нужно получить доступ к экземпляру KerberosTicket из Subject. Это разрешение не требуется, когда приложение полагается на механизм Kerberos JGSS по умолчанию для доступа к KerberosTicket. Однако в этом случае приложению потребуется соответствующее ServicePermission.

Обратите внимание, что этот класс применим как к токенам запроса билета, так и к другим обычным билетам на обслуживание. Токен запроса билета является просто частным случаем более обобщённого билета на обслуживание.

С:
1.4
См. также:
Subject, PrivateCredentialPermission, 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 для равенства.

Date getAuthTime()

Возвращает время, когда клиент был аутентифицирован.

KerberosPrincipal getClient()

Возвращает основного принципала клиента, связанного с этим билетом.

InetAddress[] getClientAddresses()

Возвращает список адресов, с которых можно использовать билет.

byte[] getEncoded()

Возвращает кодирование ASN.1 всего билета.

Date getEndTime()

Возвращает время истечения срока действия этого билета.

boolean[] getFlags()

Возвращает флаги, связанные с этим билетом.

Date getRenewTill()

Возвращает последнее время истечения срока действия билета, включая все продления.

KerberosPrincipal getServer()

Возвращает основного принципала службы, связанного с этим билетом.

SecretKey getSessionKey()

Возвращает сессионный ключ, связанный с этим билетом.

int getSessionKeyType()

Возвращает тип ключа сессии, связанный с этим билетом, как определено в спецификации протокола Kerberos.

Date getStartTime()

Возвращает время начала срока действия этого билета.

int hashCode()

Возвращает хэш-код для этого KerberosTicket.

boolean isCurrent()

Определяет, является ли этот билет текущим.

boolean isDestroyed()

Определяет, был ли этот билет уничтожен.

boolean isForwardable()

Определяет, является ли этот билет пересылаемым.

boolean isForwarded()

Определяет, был ли этот билет передан или выдан на основе аутентификации, включающей переданный билет-запрос билета.

boolean isInitial()

Определяет, был ли этот билет выдан с помощью протокола обмена Kerberos AS, а не на основе какого-либо билета-запроса билета.

boolean isPostdated()

Определяет, является ли этот билет с датой в будущем.

boolean isProxiable()

Определяет, является ли этот билет переадресовываемым.

boolean isProxy()

Определяет, является ли этот билет билетом-прокси.

boolean isRenewable()

Определяет, является ли этот билет возобновляемым.

void refresh()

Удлиняет период действия этого билета.

String toString()

Возвращает строковое представление объекта.

Методы, унаследованные от класса java.lang.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 BitString, представляющем флаги билета. Если количество элементов в этом массиве меньше количества флагов, используемых протоколом Kerberos, то недостающие флаги будут заполнены значением false.
authTime - время первоначальной аутентификации для клиента.
startTime - время, после которого билет будет действителен. Может быть null, в этом случае значение authTime рассматривается как startTime.
endTime - время, после которого билет больше не будет действителен.
renewTill - абсолютное время истечения срока действия билета, включая все возможные продления. Этот поле может быть null для билетов, которые не могут быть продлены.
clientAddresses - адреса, с которых билет может быть использован клиентом. Это поле может быть null, когда билет может быть использован с любого адреса.

Методы

getClient

public final KerberosPrincipal getClient()

Возвращает принципал клиента, связанный с этим билетом.

Возвращает:
принципал клиента.

getServer

public final KerberosPrincipal getServer()

Возвращает принципал сервиса, связанный с этим билетом.

Возвращает:
принципал сервиса.

getSessionKey

public final SecretKey getSessionKey()

Возвращает ключ сессии, связанный с этим билетом.

Возвращает:
ключ сессии.

getSessionKeyType

public final int getSessionKeyType()

Возвращает тип ключа сессии, связанный с этим билетом, как определено в Спецификации протокола Kerberos.

Возвращает:
тип ключа сессии, связанный с этим билетом.
См. также:
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 BitString, представляющего флаги билета.

Возвращает:
флаги, связанные с этим билетом.

getAuthTime

public final Date getAuthTime()

Возвращает время аутентификации клиента.

Возвращает:
время аутентификации клиента или null, если не установлено.

getStartTime

public final Date getStartTime()

Возвращает время начала срока действия этого билета.

Возвращает:
время начала срока действия этого билета или null, если не установлено.

getEndTime

public final Date getEndTime()

Возвращает время истечения срока действия этого билета.

Возвращает:
время истечения срока действия этого билета.

getRenewTill

public final Date getRenewTill()

Возвращает последнее время истечения срока действия этого билета, включая все продления. Для билетов, которые нельзя продлить, возвращает значение null.

Возвращает:
последнее время истечения срока действия билета.

getClientAddresses

public final InetAddress[] getClientAddresses()

Возвращает список адресов, с которых билет может быть использован.

Возвращает:
список адресов или null, если поле не было предоставлено.

getEncoded

public final byte[] getEncoded()

Возвращает ASN.1 кодирование всего билета.

Возвращает:
ASN.1 кодирование всего билета.

isCurrent

public boolean isCurrent()

Определяет, является ли этот билет по-прежнему текущим.

Определено в:
isCurrent в интерфейсе Refreshable
Возвращает:
true, если этот Object в настоящее время текущий, false в противном случае.

refresh

public void refresh()
             throws RefreshFailedException

Удлиняет срок действия этого билета. Билет будет содержать новый ключ сессии, если операция продления успешно выполнена. Операция продления завершится неудачей, если билет нельзя продлить или истекло последнее допустимое время продления. Любая другая ошибка, возвращённая KDC, также приведёт к завершению этого метода неудачей. Примечание: Этот метод не синхронизирован с методами-акцессорами этого объекта. Поэтому вызывающим методам необходимо учитывать возможность одновременного доступа к нему и попытки продления нескольких потоков.

Определено в:
refresh в интерфейсе Refreshable
Исключения:
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()

Описание скопировано из класса: Object

Возвращает строковое представление объекта. В общем случае метод toString возвращает строку, которая "текстуально представляет" этот объект. Результат должен быть кратким, но информативным представлением, лёгким для чтения человеком. Рекомендуется всем подклассам переопределять этот метод.

Метод toString для класса Object возвращает строку, состоящую из имени класса, к которому принадлежит объект, символа `@', и неозначенного шестнадцатеричного представления хэш-кода объекта. Другими словами, этот метод возвращает строку, равную значению:

getClass().getName() + '@' + Integer.toHexString(hashCode())
Переопределяет:
toString в классе Object
Возвращает:
строковое представление объекта.

hashCode

public int hashCode()

Возвращает хэш-код для этого KerberosTicket.

Переопределяет:
hashCode в классе Object
Возвращает:
хэш-код для KerberosTicket
С:
1.6
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

equals

public boolean equals(Object other)

Сравнивает указанный объект с этим KerberosTicket на равенство. Возвращает true, если данный объект также является KerberosTicket и два объекта KerberosTicket эквивалентны.

Переопределяет:
equals в классе Object
Параметры:
other - объект для сравнения
Возвращает:
true, если указанный объект равен этому KerberosTicket, false в противном случае. ПРИМЕЧАНИЕ: Возвращает false, если любой из объектов KerberosTicket был удалён.
С:
1.6
См. также:
Object.hashCode(), HashMap

© 1993, 2020, 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.

Spec-Zone.ru

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