Класс 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" следует указать, если хранилище 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 |
Инициализирует этот 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— параметры, указанные в конфигурации входаConfigurationдля этого конкретногоLoginModule.
login
public boolean login() throws LoginException
Получает псевдоним KeyStore и соответствующие пароли. Извлекает принципала и учетные данные псевдонима из KeyStore.
- Определено в:
-
loginв интерфейсеLoginModule - Возвращает:
- true во всех случаях (этот
LoginModuleне следует игнорировать). - Исключения:
-
FailedLoginException— если аутентификация завершается неудачей. -
LoginException— если аутентификация завершается неудачей
commit
public boolean commit() throws LoginException
Этот метод вызывается, если общая аутентификация LoginContext завершилась успешно (успешно завершились соответствующие LoginModules с флагами REQUIRED, REQUISITE, SUFFICIENT и OPTIONAL).
Если собственная попытка аутентификации этого LoginModule завершилась успешно (это проверяется путем получения закрытого состояния, сохраненного методом login), этот метод связывает X500Principal для различительного имени субъекта первого сертификата в учетных данных псевдонима со списком принципалов субъекта, путь сертификата псевдонима — с общедоступными учетными данными субъекта, а также X500PrivateCredential, сертификатом которого является первый сертификат в пути сертификатов псевдонима, а закрытым ключом — закрытый ключ псевдонима, с закрытыми учетными данными субъекта. Если собственная попытка аутентификации этого LoginModule завершилась неудачей, этот метод удаляет все ранее сохраненное состояние.
- Определено в:
-
commitв интерфейсеLoginModule - Возвращает:
- true, если собственные попытки входа и фиксации этого LoginModule завершились успешно; в противном случае — false.
- Исключения:
-
LoginException— если фиксация завершается неудачей
abort
public boolean abort() throws LoginException
Если собственная попытка аутентификации этого 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— если завершение сеанса завершается неудачей.
© 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