61             if (certs == null || certs.length == 0) {
    64                 logger.debug(
"[X509ClientCertificateAuthenticator:authenticate] x509 client certificate is not available for mutual SSL.");
    69             X509AuthenticatorConfigModel config = null;
    70             if (context.getAuthenticatorConfig() != null && context.getAuthenticatorConfig().getConfig() != null) {
    71                 config = 
new X509AuthenticatorConfigModel(context.getAuthenticatorConfig());
    74                 logger.warn(
"[X509ClientCertificateAuthenticator:authenticate] x509 Client Certificate Authentication configuration is not available.");
    75                 context.challenge(
createInfoResponse(context, 
"X509 client authentication has not been configured yet"));
    83                 CertificateValidator validator = builder.build(certs);
    84                 validator.checkRevocationStatus()
    86                          .validateExtendedKeyUsage();
    87             } 
catch(Exception e) {
    88                 logger.error(e.getMessage(), e);
    90                 String errorMessage = 
"Certificate validation's failed.";
    93                         errorMessage, e.getMessage()));
    99             if (userIdentity == null) {
   100                 context.getEvent().error(Errors.INVALID_USER_CREDENTIALS);
   101                 logger.warnf(
"[X509ClientCertificateAuthenticator:authenticate] Unable to extract user identity from certificate.");
   103                 String errorMessage = 
"Unable to extract user identity from specified certificate";
   105                 context.challenge(
createErrorResponse(context, certs[0].getSubjectDN().getName(), errorMessage));
   112                 context.getEvent().detail(Details.USERNAME, userIdentity.toString());
   113                 context.getAuthenticationSession().setAuthNote(AbstractUsernameFormAuthenticator.ATTEMPTED_USERNAME, userIdentity.toString());
   116             catch(ModelDuplicateException e) {
   118                 String errorMessage = 
"X509 certificate authentication's failed.";
   121                         errorMessage, e.getMessage()));
   128                 String errorMessage = 
"X509 certificate authentication's failed.";
   131                         errorMessage, 
"Invalid user"));
   138                 String errorMessage = 
"X509 certificate authentication's failed.";
   141                         errorMessage, 
"User is disabled"));
   145             if (context.getRealm().isBruteForceProtected()) {
   146                 if (context.getProtector().isTemporarilyDisabled(context.getSession(), context.getRealm(), user)) {
   147                     context.getEvent().user(user);
   148                     context.getEvent().error(Errors.USER_TEMPORARILY_DISABLED);
   150                     String errorMessage = 
"X509 certificate authentication's failed.";
   153                             errorMessage, 
"User is temporarily disabled. Contact administrator."));
   158             context.setUser(user);
   161             if (!config.getConfirmationPageDisallowed()) {
   178             logger.errorf(
"[X509ClientCertificateAuthenticator:authenticate] Exception: %s", e.getMessage());
 UserIdentityExtractor getUserIdentityExtractor(X509AuthenticatorConfigModel config)
Definition: AbstractX509ClientCertificateAuthenticator.java:222
 
UserIdentityToModelMapper getUserIdentityToModelMapper(X509AuthenticatorConfigModel config)
Definition: AbstractX509ClientCertificateAuthenticator.java:226
 
static ServicesLogger logger
Definition: AbstractX509ClientCertificateAuthenticator.java:49
 
Response createErrorResponse(AuthenticationFlowContext context, String subjectDN, String errorMessage, String ... errorParameters)
Definition: X509ClientCertificateAuthenticator.java:183
 
Response createInfoResponse(AuthenticationFlowContext context, String infoMessage, Object ... parameters)
Definition: AbstractX509ClientCertificateAuthenticator.java:76
 
X509Certificate [] getCertificateChain(AuthenticationFlowContext context)
Definition: AbstractX509ClientCertificateAuthenticator.java:196
 
CertificateValidator.CertificateValidatorBuilder certificateValidationParameters(X509AuthenticatorConfigModel config)
Definition: AbstractX509ClientCertificateAuthenticator.java:101
 
void modelDuplicateException(@Cause ModelDuplicateException mde)
 
boolean userEnabled(AuthenticationFlowContext context, UserModel user)
Definition: X509ClientCertificateAuthenticator.java:238
 
abstract UserModel find(AuthenticationFlowContext context, Object userIdentity)
 
Response createSuccessResponse(AuthenticationFlowContext context, String subjectDN)
Definition: X509ClientCertificateAuthenticator.java:191
 
boolean invalidUser(AuthenticationFlowContext context, UserModel user)
Definition: X509ClientCertificateAuthenticator.java:247
 
void dumpContainerAttributes(AuthenticationFlowContext context)
Definition: X509ClientCertificateAuthenticator.java:229
 
abstract Object extractUserIdentity(X509Certificate[] certs)