Класс KeyStoreLoginModule
- Все реализованные интерфейсы:
LoginModule
public class KeyStoreLoginModule extends Object implements LoginModule
X500Principal для имени субъекта первой сертификата в учетных данных алиаса в принципалах субъекта, путь сертификата алиаса в публичных учетных данных субъекта и X500PrivateCredential сертификат которого является первой сертификатом в пути сертификата алиаса, а его закрытый ключ — это закрытый ключ алиаса, в частных учетных данных субъекта. Признаёт следующие параметры в файле конфигурации:
-
keyStoreURL - URL, который указывает расположение хранилища ключей. По умолчанию — URL, указывающий на файл .keystore в каталоге, указанном в системном свойстве
user.home. Поступающий из этого URL поток передаётся методуKeyStore.load. Можно указать "NONE", если необходимо передать потокnullметодуKeyStore.load. Это нужно, например, если хранилище ключей расположено на устройстве с аппаратным токеном. -
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-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
Этот метод вызывается, если общая аутентификация LoginContext прошла успешно (соответствующие модули входа REQUIRED, REQUISITE, SUFFICIENT и OPTIONAL завершились успешно).
Если попытка аутентификации данного модуля входа прошла успешно (проверяется путём извлечения сохранённого внутреннего состояния методом login), то этот метод связывает X500Principal для имени субъекта первой сертификата в учетных данных алиаса в принципалах субъекта, путь сертификата алиаса в публичных учетных данных субъекта и X500PrivateCredential сертификат которого является первой сертификатом в пути сертификата алиаса, а его закрытый ключ — это закрытый ключ алиаса, в частных учетных данных субъекта. Если попытка аутентификации данного модуля входа завершилась неудачей, то этот метод удаляет любое сохранённое состояние.
- Определено в:
-
commitв интерфейсеLoginModule - Возвращает:
- true, если попытки входа и подтверждения данного модуля входа завершились успешно, или false в противном случае.
- Исключения:
-
LoginException- если подтверждение завершилось неудачей
abort
public boolean abort() throws LoginException
Если попытка аутентификации данного модуля входа прошла успешно (проверяется путём извлечения сохранённого внутреннего состояния методами 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, 2021, 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/17/docs/api/jdk.security.auth/com/sun/security/auth/module/KeyStoreLoginModule.html