Spec-Zone.ru › OpenJDK 24

Класс KeyTab

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

Модуль аутентификации Kerberos JAAS, получающий долговременные секретные ключи из файла 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.

Since:
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.

Методы, унаследованные от класса java.lang.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, не должен быть null
Возвращает:
экземпляр ключевой таблицы
Исключение:
NullPointerException - если аргумент file равен null

getUnboundInstance

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

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

Параметры:
file - объект ключевой таблицы File, не должен быть null
Возвращает:
экземпляр ключевой таблицы
Исключение:
NullPointerException - если аргумент файла равен null
См. также:
1.8

getInstance

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

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

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

getInstance

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

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

Разработчики должны вызвать getInstance(KerberosPrincipal), когда связанный принципал службы известен.

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

getUnboundInstance

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

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

Возвращает:
экземпляр ключевой таблицы по умолчанию
См. также:
1.8

getInstance

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

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

Параметры:
princ - связанный принципал службы, не должен быть null
Возвращает:
экземпляр ключевой таблицы по умолчанию
Исключение:
NullPointerException - если princ равен null
См. также:
1.8

getKeys

public KerberosKey[] getKeys(KerberosPrincipal principal)
Возвращает свежие ключи для данного принципала Kerberos.

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

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

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

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

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

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

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

exists

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

toString

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

hashCode

public int hashCode()
Возвращает хеш-код для этого объекта KeyTab.
Переопределяет:
hashCode в классе Object
Возвращает:
хеш-код для этого объекта KeyTab
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.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()
Возвращает, связан ли объект ключевой таблицы с принципалом
Возвращает:
связан ли объект ключевой таблицы с принципалом
См. также:
1.8

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

Spec-Zone.ru

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