## org.apache.catalina.authenticator
Class SSLAuthenticator

    java.lang.Object
      org.apache.catalina.valves.ValveBase
          org.apache.catalina.authenticator.AuthenticatorBase
              org.apache.catalina.authenticator.SSLAuthenticator

All Implemented Interfaces:
  Authenticator, Contained, Lifecycle, javax.management.MBeanRegistration, Valve

public class SSLAuthenticator
extends AuthenticatorBase

An Authenticator and Valve implementation of authentication that utilizes SSL certificates to identify client users. You will likely want to read the SSL HowTo in the Tomcat documentation: http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html

Version:
  $Id: SSLAuthenticator.java 939523 2010-04-30 00:28:42Z kkolinko $
Author:
  Craig R. McClanahan

Field Summary
`protected static java.lang.String` `info` Descriptive information about this implementation.

Fields inherited from class org.apache.catalina.authenticator.AuthenticatorBase
`algorithm, cache, changeSessionIdOnAuthentication, context, DEFAULT_ALGORITHM, digest, disableProxyCaching, entropy, lifecycle, random, randomClass, REALM_NAME, securePagesWithPragma, SESSION_ID_BYTES, sm, sso, started`

Fields inherited from class org.apache.catalina.valves.ValveBase
`container, containerLog, controller, domain, mserver, next, oname`

Fields inherited from interface org.apache.catalina.Lifecycle
`AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, DESTROY_EVENT, INIT_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT`

Constructor Summary
`SSLAuthenticator()`

Method Summary
`boolean` `authenticate(Request request, Response response, LoginConfig config)` Authenticate the user by checking for the existence of a certificate chain, and optionally asking a trust manager to validate that we trust this user.
`java.lang.String` `getInfo()` Return descriptive information about this Valve implementation.
`void` `start()` Initialize the database we will be using for client verification and certificate validation (if any).
`void` `stop()` Finalize the database we used for client verification and certificate validation (if any).

Methods inherited from class org.apache.catalina.authenticator.AuthenticatorBase

`addLifecycleListener, associate, findLifecycleListeners, generateSessionId, getAlgorithm, getCache, getChangeSessionIdOnAuthentication, getContainer, getDigest, getDisableProxyCaching, getEntropy, getRandom, getRandomClass, getSecurePagesWithPragma, invoke, reauthenticateFromSSO, register, removeLifecycleListener, setAlgorithm, setCache, setChangeSessionIdOnAuthentication, setContainer, setDisableProxyCaching, setEntropy, setRandomClass, setSecurePagesWithPragma`

Methods inherited from class org.apache.catalina.valves.ValveBase
`backgroundProcess, createObjectName, getContainerName, getController, getDomain, getNext, getObjectName, getParentName, postDeregister, postRegister, preDeregister, preRegister, setController, setNext, setObjectName, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### info

    protected static final java.lang.String info

  Descriptive information about this implementation.

  See Also:
    Constant Field Values

Constructor Detail

### SSLAuthenticator

    public SSLAuthenticator()

Method Detail

### getInfo

    public java.lang.String getInfo()

  Return descriptive information about this Valve implementation.

  Specified by:
    `getInfo` in interface `Valve`
  Overrides:
    `getInfo` in class `AuthenticatorBase`

### authenticate

    public boolean authenticate(Request request,
                                Response response,
                                LoginConfig config)
                         throws java.io.IOException

  Authenticate the user by checking for the existence of a certificate chain, and optionally asking a trust manager to validate that we trust this user.

  Specified by:
    `authenticate` in class `AuthenticatorBase`
  Parameters:
    `request` - Request we are processing
    `response` - Response we are creating
    `config` - Login configuration describing how authentication should be performed
  Throws:
    `java.io.IOException` - if an input/output error occurs

### start

    public void start()
               throws LifecycleException

  Initialize the database we will be using for client verification and certificate validation (if any).

  Specified by:
    `start` in interface `Lifecycle`
  Overrides:
    `start` in class `AuthenticatorBase`
  Throws:
    `LifecycleException` - if this component detects a fatal error that prevents this component from being used

### stop

    public void stop()
              throws LifecycleException

  Finalize the database we used for client verification and certificate validation (if any).

  Specified by:
    `stop` in interface `Lifecycle`
  Overrides:
    `stop` in class `AuthenticatorBase`
  Throws:
    `LifecycleException` - if this component detects a fatal error that prevents this component from being used

Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.