Как настроить Elytron для корневого сертификата в хранилище доверенных сертификатов?
Можно ли настроить аутентификацию клиента-сертификата WildFly 13 с сертификатом root-ca в хранилище доверенных сертификатов? Клиенты будут использовать сертификаты, подписанные этим корнем.
Вот что заставляет меня задуматься: в этой документации https://ctomc.github.io/docs-playground/WildFly_Elytron_Security.html говорят, что:
IMPORTANT: The decoded principal * MUST* must be the alias value you set in your server’s truststore for the client’s certificate.
Это означает, что я могу настроить декодер для сопоставления атрибута, отличного от CN, который будет указывать на псевдоним root-ca в моем хранилище доверенных сертификатов, и все сертификаты клиента будут иметь этот атрибут, указывающий на псевдоним root-ca.
Но вопрос в том, как сервер узнает, какого пользователя сопоставить с этим сертификатом, поскольку он сопоставляет этот "другой" атрибут с тем же сертификатом в хранилище доверенных сертификатов?
1 ответ
Я думаю, что вы пытаетесь достичь возможно с https://issues.jboss.org/browse/ELY-1418, что означает, начиная с WF14.
Начиная с ELY-1418, вам не нужно хранить пользовательские сертификаты в хранилище ключей.
Независимо от того, используете ли вы механизм CLIENT_CERT или свой собственный механизм, ключом для этого является
- Не настраивайте домен безопасности в вашем elytron/server-ssl-context.
- В вашем elytron/security-domain используйте область, такую как область LDAP, или любую другую область для обеспечения авторизации. Не используйте следующую статистическую область в вашем elytron/security-domain: (имя совокупной области ="CustomRealm" authentication-realm="keystorebackedRealm" authorization-realm="...")
- Если вы используете механизм CLIENT_CERT, выполните действия, описанные здесь по адресу http://docs.wildfly.org/15/WildFly_Elytron_Security.html. Но в приведенной выше документации есть ошибка. После создания /subsystem=elytron/configurable-http-server-механизм-factory= сконфигурированный сертификат: добавьте (http-сервер-механизм-фабрика = глобальный, свойства ={org.wildfly.security.http.skip-сертификат-validation=true}), вам нужно сослаться на него в вашем elytron/http-authentication-factory. Команда для создания фабрики elytron / http-authentication-factory верна, но пример вывода по-прежнему ссылается на глобальную фабрику.
- Если вы используете пользовательский механизм, обязательно пропустите проверку аутентификации, потому что это было сделано с помощью рукопожатия ssl.