Класс 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" следует указывать, если хранилище ключей расположено на устройстве с аппаратным токеном, например. keyStoreType- Тип хранилища ключей. Если не указан, по умолчанию используется результат вызова
KeyStore.getDefaultType(). Если тип "PKCS11", то keyStoreURL должен быть "NONE", а privateKeyPasswordURL не должен быть указан. keyStoreProvider- Поставщик хранилища ключей. Если не указан, используется стандартный порядок поиска поставщика.
keyStoreAlias- Имя пользователя в хранилище ключей для входа. Требуется, если не указан обработчик обратного вызова. Значение по умолчанию отсутствует.
keyStorePasswordURL- URL, указывающий расположение пароля хранилища ключей. Требуется, если не указан обработчик обратного вызова и
protectedравно false. Значение по умолчанию отсутствует. privateKeyPasswordURL- URL, указывающий расположение пароля для конкретного закрытого ключа, необходимого для доступа к закрытому ключу для данного имени пользователя. Если это значение необходимо, но не указано, используется пароль хранилища ключей.
protected- Это значение должно быть установлено в "true", если хранилище ключей имеет отдельный, защищённый путь аутентификации (например, посвящённую панель PIN, прикреплённую к смарт-карте). По умолчанию "false". Если "true", то keyStorePasswordURL и privateKeyPasswordURL не должны быть указаны.
Конструкторы
| Конструктор | Описание |
|---|---|
KeyStoreLoginModule() |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean | abort() | Этот метод вызывается, если общая аутентификация LoginContext завершилась неудачей. |
boolean | commit() | Абстрактный метод для завершения процесса аутентификации (этап 2). |
void | initialize(Subject subject,
CallbackHandler callbackHandler,
Map<String,?> sharedState,
Map<String,?> options) | Инициализировать этот |
boolean | login() | Аутентифицировать пользователя. |
boolean | logout() | Выйти из системы. |
Методы, объявленные в классе 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