Класс KerberosKey
- java.lang.Object
-
- javax.security.auth.kerberos.KerberosKey
- Все реализованные интерфейсы:
- Serializable, Key, SecretKey, Destroyable
public class KerberosKey extends Object implements SecretKey, Destroyable
Этот класс инкапсулирует долгосрочный секретный ключ для Kerberos-принципала.
Все Kerberos-модули входа JAAS, которые получают пароль принципала и генерируют из него секретный ключ, должны использовать этот класс. Иногда, например, при аутентификации сервера в отсутствие аутентификации пользователь-пользователь, модуль входа сохранит экземпляр этого класса в приватном наборе данных Subject во время фазы подтверждения процесса аутентификации.
Сервис Kerberos, использующий ключтаб для чтения секретных ключей, должен использовать класс KeyTab, где последние ключи могут быть прочитаны по мере необходимости.
Возможно, приложение должно получить разрешение PrivateCredentialPermission, если ему нужно получить доступ к экземпляру KerberosKey из Subject. Это разрешение не требуется, когда приложение полагается на стандартный механизм JGSS Kerberos для доступа к KerberosKey. Однако в этом случае приложение потребует соответствующего разрешения ServicePermission.
- С момента:
- 1.4
- См. также:
- Форматированный вывод
Конструкторы
| Конструктор и описание |
|---|
KerberosKey(KerberosPrincipal principal,
byte[] keyBytes,
int keyType,
int versionNum) Создаёт KerberosKey из заданных байтов, когда известен тип ключа и номер версии ключа. |
KerberosKey(KerberosPrincipal principal,
char[] password,
String algorithm) Создаёт KerberosKey из пароля принципала. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
destroy() Уничтожает этот ключ. |
boolean |
equals(Object other) Сравнивает указанный объект с этим KerberosKey для равенства. |
String |
getAlgorithm() Возвращает стандартное имя алгоритма для этого ключа. |
byte[] |
getEncoded() Возвращает материал ключа этого секретного ключа. |
String |
getFormat() Возвращает имя формата кодирования для этого секретного ключа. |
int |
getKeyType() Возвращает тип ключа для этого долгосрочного ключа. |
KerberosPrincipal |
getPrincipal() Возвращает принципала, которому принадлежит этот ключ. |
int |
getVersionNumber() Возвращает номер версии ключа. |
int |
hashCode() Возвращает хэш-код для этого KerberosKey. |
boolean |
isDestroyed() Определяет, был ли уничтожен этот ключ. |
String |
toString() Возвращает строковое представление объекта. |
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Подробное описание конструкторов
KerberosKey
public KerberosKey(KerberosPrincipal principal,
byte[] keyBytes,
int keyType,
int versionNum)
Создаёт KerberosKey из заданных байтов, когда известен тип ключа и номер версии ключа. Это может быть использовано при чтении информации о секретном ключе из Kerberos "keytab".
- Параметры:
-
principal- принципал, которому принадлежит этот секретный ключ -
keyBytes- сырые байты для секретного ключа -
keyType- тип ключа для секретного ключа, определённый спецификацией протокола Kerberos. -
versionNum- номер версии этого секретного ключа
KerberosKey
public KerberosKey(KerberosPrincipal principal,
char[] password,
String algorithm)
Создаёт KerberosKey из пароля принципала.
- Параметры:
-
principal- принципал, которому принадлежит этот пароль -
password- пароль, который должен быть использован для вычисления ключа -
algorithm- имя алгоритма, для которого будет использован этот ключ. Этот параметр может быть null, в этом случае будет предполагаться алгоритм по умолчанию "DES". - Исключения:
-
IllegalArgumentException- если имя переданного алгоритма не поддерживается.
Подробное описание методов
getPrincipal
public final KerberosPrincipal getPrincipal()
Возвращает принципала, которому принадлежит этот ключ.
- Возвращает:
- принципал, которому принадлежит этот ключ.
getVersionNumber
public final int getVersionNumber()
Возвращает номер версии ключа.
- Возвращает:
- номер версии ключа.
getKeyType
public final int getKeyType()
Возвращает тип ключа для этого долгосрочного ключа.
- Возвращает:
- тип ключа.
getAlgorithm
public final String getAlgorithm()
Возвращает стандартное имя алгоритма для этого ключа. Например, "DES" указывает, что этот ключ является ключом DES. См. Приложение А в Спецификации и справке API архитектуры Java Cryptography для информации о стандартных именах алгоритмов.
- Установлено в:
-
getAlgorithmв интерфейсеKey - Возвращает:
- имя алгоритма, связанного с этим ключом.
getFormat
public final String getFormat()
Возвращает имя формата кодирования для этого секретного ключа.
getEncoded
public final byte[] getEncoded()
Возвращает материал ключа этого секретного ключа.
- Установлено в:
-
getEncodedв интерфейсеKey - Возвращает:
- материал ключа
destroy
public void destroy()
throws DestroyFailedException
Уничтожает этот ключ. Вызов любого другого метода после этого вызовет исключение IllegalStateException.
- Установлено в:
-
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())
hashCode
public int hashCode()
Возвращает хэш-код для этого KerberosKey.
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- хэш-код для этого
KerberosKey - С момента:
- 1.6
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
equals
public boolean equals(Object other)
Сравнивает указанный объект с этим KerberosKey для равенства. Возвращает true, если данный объект также является KerberosKey и два экземпляра KerberosKey эквивалентны.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
other- объект для сравнения - Возвращает:
- true, если указанный объект равен этому KerberosKey, иначе false. ПРИМЕЧАНИЕ: Возвращает false, если любой из объектов KerberosKey был уничтожен.
- С момента:
- 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.