Класс KeyStoreLoginModule
- Все реализуемые интерфейсы:
LoginModule
public class KeyStoreLoginModule extends Object implements LoginModule
X500Principal для имени субъекта первого сертификата в учетных данных псевдонима в принципах субъекта, путь сертификата псевдонима в публичных учетных данных субъекта и X500PrivateCredential, сертификат которого является первым сертификатом в пути сертификата псевдонима, а закрытый ключ которого является закрытым ключом псевдонима в частных учетных данных субъекта. Признает следующие параметры в конфигурационном файле:
-
keyStoreURL - URL, указывающий расположение хранилища ключей. По умолчанию URL указывает на файл .keystore в каталоге, указанном свойством системы
user.home. Поток ввода из этого URL передается методуKeyStore.load. Можно указать "NONE", если необходимо передать потокnullв методKeyStore.load. "NONE" следует указывать, если хранилище ключей расположено на устройстве с аппаратным токеном, например. -
keyStoreType - Тип хранилища ключей. Если не указано, по умолчанию используется результат вызова
KeyStore.getDefaultType(). Если тип равен "PKCS11", то keyStoreURL должен быть "NONE", а privateKeyPasswordURL не должен быть указан. -
keyStoreProvider - Поставщик хранилища ключей. Если не указано, используется стандартный порядок поиска поставщика.
-
keyStoreAlias - Псевдоним в хранилище ключей для входа. Требуется, если не указан обработчик обратного вызова. Значение по умолчанию не задано.
-
keyStorePasswordURL - URL, указывающий расположение пароля хранилища ключей. Требуется, если не указан обработчик обратного вызова и
protectedимеет значение false. Значение по умолчанию не задано. -
privateKeyPasswordURL - URL, указывающий расположение конкретного пароля закрытого ключа, необходимого для доступа к закрытому ключу этого псевдонима. Пароль хранилища ключей используется, если это значение необходимо, но не указано.
-
protected - Это значение должно быть установлено в "true", если хранилище ключей имеет отдельный, защищенный путь аутентификации (например, выделенный PIN-пад, подключенный к смарт-карте). По умолчанию "false". Если "true", keyStorePasswordURL и privateKeyPasswordURL не должны быть указаны.
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
KeyStoreLoginModule() |
Создаёт KeyStoreLoginModule. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
abort() |
Этот метод вызывается, если общий процесс аутентификации LoginContext завершился неудачей. |
boolean |
commit() |
Абстрактный метод для завершения процесса аутентификации (этап 2). |
void |
initialize |
Инициализирует этот LoginModule. |
boolean |
login() |
Аутентифицирует пользователя. |
boolean |
logout() |
Выход пользователя. |
Подробное описание конструкторов
KeyStoreLoginModule
public KeyStoreLoginModule()
KeyStoreLoginModule.Подробное описание методов
initialize
public void initialize(Subject subject, CallbackHandler callbackHandler, Map<String,?> sharedState, Map<String,?> options)
LoginModule.- Указано в:
-
initializeв интерфейсеLoginModule - Параметры:
-
subject- субъект, подлежащий аутентификации. -
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
Этот метод вызывается, если общий процесс аутентификации LoginContext завершился успехом (соответствующие модули REQUIRED, REQUISITE, SUFFICIENT и OPTIONAL LoginModules выполнили свои задачи).
Если попытка аутентификации в данном LoginModule завершилась успехом (проверяется путем извлечения сохранённого в частном состоянии, сохраненном методом login), этот метод связывает X500Principal для имени субъекта первого сертификата в учетных данных псевдонима в принципах субъекта, путь сертификата псевдонима в публичных учетных данных субъекта и X500PrivateCredential , сертификат которого является первым сертификатом в пути сертификата псевдонима, а закрытый ключ которого является закрытым ключом псевдонима в частных учетных данных субъекта. Если попытка аутентификации в этом LoginModule завершилась неудачей, этот метод удаляет все сохраненное состояние.
- Указано в:
-
commitв интерфейсеLoginModule - Возвращает:
- true, если попытки входа и завершения в данном LoginModule завершились успешно, или false в противном случае.
- Исключения:
-
LoginException- если завершение операции завершилось неудачей
abort
public boolean abort() throws LoginException
Если попытка аутентификации в данном LoginModule завершилась успехом (проверяется путем извлечения сохранённого в частном состоянии, сохраненном методами login и commit ), этот метод очищает все сохраненное состояние.
Если поставщик загруженного хранилища ключей расширяет java.security.AuthProvider, то вызывается метод logout поставщика.
- Указано в:
-
abortв интерфейсеLoginModule - Возвращает:
- false, если попытки входа и/или завершения в данном LoginModule завершились неудачей, и true в противном случае.
- Исключения:
-
LoginException- если отмена операции завершилась неудачей.
logout
public boolean logout() throws LoginException
Этот метод удаляет принципалы, публичные учетные данные и частные учетные данные, добавленные методом commit.
Если поставщик загруженного хранилища ключей расширяет java.security.AuthProvider, то вызывается метод logout поставщика.
- Указано в:
-
logoutв интерфейсеLoginModule - Возвращает:
- true во всех случаях, так как этот
LoginModuleне должен игнорироваться. - Исключения:
-
LoginException- если выход не удался.
© 1993, 2023, 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/21/docs/api/jdk.security.auth/com/sun/security/auth/module/KeyStoreLoginModule.html