Класс 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" следует указывать, если хранилище ключей расположено на устройстве с аппаратным токеном, например.
keyStoreType
Тип хранилища ключей. Если не указан, по умолчанию используется результат вызова KeyStore.getDefaultType(). Если тип "PKCS11", то keyStoreURL должен быть "NONE", а privateKeyPasswordURL не должен быть указан.
keyStoreProvider
Поставщик хранилища ключей. Если не указан, используется стандартный порядок поиска поставщика.
keyStoreAlias
Имя пользователя в хранилище ключей для входа. Требуется, если не указан обработчик обратного вызова. Значение по умолчанию отсутствует.
keyStorePasswordURL
URL, указывающий расположение пароля хранилища ключей. Требуется, если не указан обработчик обратного вызова и protected равно false. Значение по умолчанию отсутствует.
privateKeyPasswordURL
URL, указывающий расположение пароля для конкретного закрытого ключа, необходимого для доступа к закрытому ключу для данного имени пользователя. Если это значение необходимо, но не указано, используется пароль хранилища ключей.
protected
Это значение должно быть установлено в "true", если хранилище ключей имеет отдельный, защищённый путь аутентификации (например, посвящённую панель PIN, прикреплённую к смарт-карте). По умолчанию "false". Если "true", то keyStorePasswordURL и privateKeyPasswordURL не должны быть указаны.

Конструкторы

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

Методы

Модификатор и типМетодОписание
booleanabort()

Этот метод вызывается, если общая аутентификация LoginContext завершилась неудачей.

booleancommit()

Абстрактный метод для завершения процесса аутентификации (этап 2).

voidinitialize​(Subject subject, CallbackHandler callbackHandler, Map<String,​?> sharedState, Map<String,​?> options)

Инициализировать этот LoginModule.

booleanlogin()

Аутентифицировать пользователя.

booleanlogout()

Выйти из системы.

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

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

Конструкторы

KeyStoreLoginModule

public 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

Аутентифицировать пользователя.

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

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

commit

public boolean commit()
               throws LoginException

Абстрактный метод для завершения процесса аутентификации (этап 2).

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

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

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

abort

public boolean abort()
              throws LoginException

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

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

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

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

logout

public boolean logout()
               throws LoginException

Выйти из системы.

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

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

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

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/jdk.security.auth/com/sun/security/auth/module/KeyStoreLoginModule.html

Spec-Zone .ru
спецификации, руководства, описания, API