Spec-Zone.ru › OpenJDK 17

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

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

Формат файла 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 - принципал Kerberos, не должен быть null.
Возвращает:
ключи (никогда не null, могут быть пустыми)
Исключения:
NullPointerException - если аргумент principal равен null
SecurityException - если существует менеджер безопасности и разрешение на чтение файла ключевого файла отсутствует

exists

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

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

Spec-Zone.ru

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