Spec-Zone.ru › OpenJDK 25

Класс KeyStoreLoginModule

java.lang.Object
com.sun.security.auth.module.KeyStoreLoginModule
Все реализованные интерфейсы:
LoginModule
public class KeyStoreLoginModule extends Object implements LoginModule
Предоставляет модуль входа JAAS, который запрашивает псевдоним хранилища ключей и заполняет субъект сведениями о принципале и учетными данными этого псевдонима. Сохраняет X500Principal для различительного имени субъекта первого сертификата в учетных данных псевдонима в списке принципалов субъекта, путь сертификата псевдонима — в общедоступных учетных данных субъекта, а также X500PrivateCredential, сертификатом которого является первый сертификат в пути сертификатов псевдонима, а закрытым ключом — закрытый ключ псевдонима, в закрытых учетных данных субъекта.

Распознает следующие параметры в файле конфигурации:

keyStoreURL
URL-адрес, указывающий расположение хранилища ключей. По умолчанию используется URL-адрес файла .keystore в каталоге, указанном системным свойством user.home. Входной поток по этому URL-адресу передается методу KeyStore.load. Можно указать "NONE", если методу KeyStore.load необходимо передать поток null. Например, значение "NONE" следует указать, если хранилище KeyStore находится на аппаратном устройстве-токене.
keyStoreType
Тип хранилища ключей. Если не указан, по умолчанию используется результат вызова KeyStore.getDefaultType(). Если тип — "PKCS11", параметр keyStoreURL должен иметь значение "NONE", а параметр privateKeyPasswordURL не должен быть указан.
keyStoreProvider
Поставщик хранилища ключей. Если не указан, для поиска поставщика используется стандартный порядок поиска.
keyStoreAlias
Псевдоним в хранилище ключей, под которым выполняется вход. Обязателен, если обработчик обратного вызова не предоставлен. Значение по умолчанию отсутствует.
keyStorePasswordURL
URL-адрес, указывающий расположение пароля хранилища ключей. Обязателен, если обработчик обратного вызова не предоставлен и protected имеет значение false. Значение по умолчанию отсутствует.
privateKeyPasswordURL
URL-адрес, указывающий расположение отдельного пароля закрытого ключа, необходимого для доступа к закрытому ключу этого псевдонима. Если это значение необходимо, но не указано, используется пароль хранилища ключей.
protected
Этому параметру следует присвоить значение "true", если хранилище KeyStore имеет отдельный защищенный путь аутентификации (например, специальную PIN-клавиатуру, подключенную к смарт-карте). По умолчанию используется значение "false". Если задано значение "true", параметры keyStorePasswordURL и privateKeyPasswordURL указывать нельзя.
Начиная с версии:
1.4

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

Конструктор Описание
KeyStoreLoginModule()
Создает KeyStoreLoginModule.

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

Модификатор и тип Метод Описание
boolean abort()
Этот метод вызывается, если общая аутентификация LoginContext завершилась неудачей.
boolean commit()
Абстрактный метод фиксации процесса аутентификации (этап 2).
void initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)
Инициализирует этот LoginModule.
boolean login()
Аутентифицирует пользователя.
boolean logout()
Завершает сеанс пользователя.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

KeyStoreLoginModule

public KeyStoreLoginModule()
Создает KeyStoreLoginModule.

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

initialize

public void initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)
Инициализирует этот LoginModule.
Определено в:
initialize в интерфейсе LoginModule
Параметры:
subject — Subject, подлежащий аутентификации.
callbackHandler — CallbackHandler для взаимодействия с конечным пользователем (например, для запроса имени пользователя и пароля); может быть null.
sharedState — общее состояние LoginModule.
options — параметры, указанные в конфигурации входа Configuration для этого конкретного LoginModule.

login

public boolean login() throws LoginException
Аутентифицирует пользователя.

Получает псевдоним KeyStore и соответствующие пароли. Извлекает принципала и учетные данные псевдонима из KeyStore.

Определено в:
login в интерфейсе LoginModule
Возвращает:
true во всех случаях (этот LoginModule не следует игнорировать).
Исключения:
FailedLoginException — если аутентификация завершается неудачей.
LoginException — если аутентификация завершается неудачей

commit

public boolean commit() throws LoginException
Абстрактный метод фиксации процесса аутентификации (этап 2).

Этот метод вызывается, если общая аутентификация LoginContext завершилась успешно (успешно завершились соответствующие LoginModules с флагами REQUIRED, REQUISITE, SUFFICIENT и OPTIONAL).

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

Определено в:
commit в интерфейсе LoginModule
Возвращает:
true, если собственные попытки входа и фиксации этого LoginModule завершились успешно; в противном случае — false.
Исключения:
LoginException — если фиксация завершается неудачей

abort

public boolean abort() throws LoginException
Этот метод вызывается, если общая аутентификация LoginContext завершилась неудачей (соответствующие LoginModules с флагами REQUIRED, REQUISITE, SUFFICIENT и OPTIONAL не завершились успешно).

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

Если поставщик загруженного хранилища KeyStore расширяет java.security.AuthProvider, вызывается метод поставщика logout.

Определено в:
abort в интерфейсе LoginModule
Возвращает:
false, если собственная попытка входа и/или фиксации этого LoginModule завершилась неудачей; в противном случае — true.
Исключения:
LoginException — если прерывание завершается неудачей.

logout

public boolean logout() throws LoginException
Завершает сеанс пользователя.

Этот метод удаляет принципалы, общедоступные учетные данные и закрытые учетные данные, добавленные методом commit.

Если поставщик загруженного хранилища KeyStore расширяет java.security.AuthProvider, вызывается метод поставщика logout.

Определено в:
logout в интерфейсе LoginModule
Возвращает:
true во всех случаях, поскольку этот LoginModule не следует игнорировать.
Исключения:
LoginException — если завершение сеанса завершается неудачей.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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/jdk.security.auth/com/sun/security/auth/module/KeyStoreLoginModule.html

Spec-Zone.ru

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