Класс KeyStoreLoginModule
- Все реализованные интерфейсы:
LoginModule
public class KeyStoreLoginModule extends Object implements LoginModule
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 не должны быть указаны.
- С:
- 1.4
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
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- подлежащий аутентификацииSubject. -
callbackHandler-CallbackHandlerдля взаимодействия с конечным пользователем (например, запроса имен пользователей и паролей), который может бытьnull. -
sharedState- состояние общегоLoginModule. -
options- опции, указанные в файле конфигурации входа для данного конкретногоLoginModule.
login
public boolean login() throws LoginException
Получает алиас хранилища ключей и соответствующие пароли. Извлекает принципал и учетные данные алиаса из хранилища ключей.
- Указано в:
-
loginв интерфейсеLoginModule - Возвращает:
- true во всех случаях (данный
LoginModuleне должен игнорироваться). - Имеет исключения:
-
FailedLoginException- если аутентификация завершилась неудачей. -
LoginException- если аутентификация завершилась неудачей
commit
public boolean commit() throws LoginException
Этот метод вызывается, если общая аутентификация LoginContext завершилась успехом (все необходимые, обязательные, достаточные и необязательные модули 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, 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://download.java.net/java/early_access/jdk24/docs/api/jdk.security.auth/com/sun/security/auth/module/KeyStoreLoginModule.html