Spec-Zone.ru › OpenJDK 25

Класс KeyTab

java.lang.Object
javax.security.auth.kerberos.KeyTab
public final class KeyTab extends Object
Этот класс инкапсулирует файл keytab.

Модуль входа JAAS Kerberos, получающий долговременные секретные ключи из файла keytab, должен использовать этот класс. На этапе фиксации процесса аутентификации модуль входа сохранит экземпляр этого класса в наборе закрытых учётных данных объекта Subject.

Если объект KeyTab получен с помощью getUnboundInstance() или getUnboundInstance(java.io.File), он не привязан и поэтому может использоваться любым субъектом-службой. В противном случае, если он получен с помощью getInstance(KerberosPrincipal) или getInstance(KerberosPrincipal, java.io.File), он привязан к определённому субъекту-службе и может использоваться только им.

Обратите внимание: конструкторы getInstance() и getInstance(java.io.File) были созданы до появления поддержки непривязанных keytab. Эти методы больше не следует использовать. Объект, созданный любым из этих методов, считается привязанным к неизвестному субъекту, а это значит, что метод isBound() возвращает true, а getPrincipal() — null.

Формат файла keytab описан по адресу http://www.ioplex.com/utilities/keytab.txt.

Начиная с версии:
1.7

Краткое описание методов

Модификатор и тип Метод Описание
boolean equals(Object other)
Сравнивает указанный объект с этим KeyTab на равенство.
boolean exists()
Проверяет, существует ли файл keytab.
static KeyTab getInstance()
Возвращает экземпляр KeyTab по умолчанию, привязанный к неизвестному субъекту-службе.
static KeyTab getInstance(File file)
Возвращает экземпляр KeyTab из объекта File, привязанный к неизвестному субъекту-службе.
static KeyTab getInstance(KerberosPrincipal princ)
Возвращает экземпляр KeyTab по умолчанию, привязанный к указанному субъекту-службе.
static KeyTab getInstance(KerberosPrincipal princ, File file)
Возвращает экземпляр KeyTab из объекта File, привязанный к указанному субъекту-службе.
KerberosKey[] getKeys(KerberosPrincipal principal)
Возвращает актуальные ключи для указанного субъекта Kerberos.
KerberosPrincipal getPrincipal()
Возвращает субъект-службу, к которому привязан этот объект KeyTab.
static KeyTab getUnboundInstance()
Возвращает экземпляр непривязанного KeyTab по умолчанию.
static KeyTab getUnboundInstance(File file)
Возвращает экземпляр непривязанного KeyTab из объекта File.
int hashCode()
Возвращает хеш-код этого KeyTab.
boolean isBound()
Возвращает, привязан ли keytab к субъекту
String toString()
Возвращает информативное текстовое представление этого KeyTab.

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание методов

getInstance

public static KeyTab getInstance(File file)
Возвращает экземпляр KeyTab из объекта File, привязанный к неизвестному субъекту-службе.

Результат этого метода никогда не равен null. Этот метод только связывает возвращаемый объект KeyTab с файлом и не считывает его.

Если субъект-служба, к которому выполняется привязка, известен, разработчикам следует вызывать getInstance(KerberosPrincipal,File).

Параметры:
file — объект File keytab; не должен быть равен null
Возвращает:
экземпляр keytab
Вызывает исключение:
NullPointerException — если аргумент file равен null

getUnboundInstance

public static KeyTab getUnboundInstance(File file)
Возвращает экземпляр непривязанного KeyTab из объекта File.

Результат этого метода никогда не равен null. Этот метод только связывает возвращаемый объект KeyTab с файлом и не считывает его.

Параметры:
file — объект File keytab; не должен быть равен null
Возвращает:
экземпляр keytab
Вызывает исключение:
NullPointerException — если аргумент file равен null
Начиная с версии:
1.8

getInstance

public static KeyTab getInstance(KerberosPrincipal princ, File file)
Возвращает экземпляр KeyTab из объекта File, привязанный к указанному субъекту-службе.

Результат этого метода никогда не равен null. Этот метод только связывает возвращаемый объект KeyTab с файлом и не считывает его.

Параметры:
princ — субъект-служба, к которому выполняется привязка; не должен быть равен null
file — объект File keytab; не должен быть равен null
Возвращает:
экземпляр keytab
Вызывает исключение:
NullPointerException — если любой из аргументов равен null
Начиная с версии:
1.8

getInstance

public static KeyTab getInstance()
Возвращает экземпляр KeyTab по умолчанию, привязанный к неизвестному субъекту-службе.

Результат этого метода никогда не равен null. Этот метод только связывает возвращаемый объект KeyTab с файлом keytab по умолчанию и не считывает его.

Если субъект-служба, к которому выполняется привязка, известен, разработчикам следует вызывать getInstance(KerberosPrincipal).

Возвращает:
экземпляр keytab по умолчанию.

getUnboundInstance

public static KeyTab getUnboundInstance()
Возвращает экземпляр непривязанного KeyTab по умолчанию.

Результат этого метода никогда не равен null. Этот метод только связывает возвращаемый объект KeyTab с файлом keytab по умолчанию и не считывает его.

Возвращает:
экземпляр keytab по умолчанию
Начиная с версии:
1.8

getInstance

public static KeyTab getInstance(KerberosPrincipal princ)
Возвращает экземпляр KeyTab по умолчанию, привязанный к указанному субъекту-службе.

Результат этого метода никогда не равен null. Этот метод только связывает возвращаемый объект KeyTab с файлом keytab по умолчанию и не считывает его.

Параметры:
princ — субъект-служба, к которому выполняется привязка; не должен быть равен null
Возвращает:
экземпляр keytab по умолчанию
Вызывает исключение:
NullPointerException — если princ равен null
Начиная с версии:
1.8

getKeys

public KerberosKey[] getKeys(KerberosPrincipal principal)
Возвращает актуальные ключи для указанного субъекта Kerberos.

Реализация этого метода должна обеспечивать соответствие возвращаемых ключей последнему содержимому файла keytab. Результатом является новая копия, которую вызывающий код может изменять, не изменяя объект keytab. После использования ключей вызывающему коду следует вызвать для них destroy.

Обратите внимание: файл keytab может быть создан после создания экземпляра объекта KeyTab, а его содержимое может меняться со временем. Поэтому приложению следует вызывать этот метод только тогда, когда ключи необходимы. Результат любого предыдущего вызова потенциально может быть просрочен.

Если при чтении файла keytab возникает ошибка (например, ошибка ввода-вывода или ошибка формата), следует вернуть сохранённый результат. Если сохранённого результата нет (например, метод вызывается впервые или все предыдущие попытки чтения завершились неудачей), следует вернуть пустой массив. Это позволяет избежать резкого изменения результата во время обновления файла keytab, которое может занять продолжительное время.

Каждый раз, когда этот метод вызывается и чтение файла завершается успешно, без исключений (например, ошибки ввода-вывода или ошибки формата файла), результат следует сохранить для principal. При необходимости реализация также может сохранить ключи других субъектов, для которых имеются ключи в том же объекте keytab.

Любые неподдерживаемые ключи, считанные из keytab, игнорируются и не включаются в результат.

Если этот keytab привязан к определённому субъекту, вызов этого метода для другого субъекта вернёт пустой массив.

Параметры:
principal — субъект Kerberos; не должен быть равен null.
Возвращает:
ключи (никогда не равны null, могут быть пустыми)
Вызывает исключение:
NullPointerException — если аргумент principal равен null

exists

public boolean exists()
Проверяет, существует ли файл keytab. Реализация этого метода должна обеспечивать соответствие результата текущему состоянию файла keytab.
Возвращает:
true, если файл keytab существует; в противном случае false.

toString

public String toString()
Возвращает информативное текстовое представление этого KeyTab.
Переопределяет:
toString в классе Object
Возвращает:
информативное текстовое представление этого KeyTab.

hashCode

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

equals

public boolean equals(Object other)
Сравнивает указанный объект с этим KeyTab на равенство. Возвращает true, если заданный объект также является KeyTab и два экземпляра KeyTab эквивалентны.
Переопределяет:
equals в классе Object
Параметры:
other — объект для сравнения
Возвращает:
true, если указанный объект равен этому KeyTab
См. также:
  • Object.hashCode()
  • HashMap

getPrincipal

public KerberosPrincipal getPrincipal()
Возвращает субъект-службу, к которому привязан этот объект KeyTab. Если привязки нет, возвращает null.

Обратите внимание: устаревшие конструкторы создают объект KeyTab, привязанный к некоторому неизвестному субъекту. В этом случае данный метод также возвращает null. Пользователь может вызвать isBound(), чтобы проверить это.

Возвращает:
субъект-службу
Начиная с версии:
1.8

isBound

public boolean isBound()
Возвращает, привязан ли keytab к субъекту
Возвращает:
признак того, привязан ли keytab к субъекту
Начиная с версии:
1.8

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, в том числе концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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/KeyTab.html

Spec-Zone.ru

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