## 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, Valve

public class SSLAuthenticator
extends AuthenticatorBase

An Authenticator and Valve implementation of authentication that utilizes SSL certificates to identify client users.

Version:
  $Revision: 1.15 $ $Date: 2004/08/26 21:27:39 $
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, context, debug, DEFAULT_ALGORITHM, digest, disableProxyCaching, entropy, lifecycle, random, randomClass, SESSION_ID_BYTES, sm, sso, started`

Fields inherited from class org.apache.catalina.valves.ValveBase
`container`

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

Constructor Summary
`SSLAuthenticator()`

Method Summary
`boolean` `authenticate(HttpRequest request, HttpResponse response, LoginConfig config)` Authenticate the user by checking for the existence of a certificate chain (which should have been made visible by an instance of `CertificatesValve</code), and optionally asking a trust manager to validate that we trust this user.</TD>`
`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

`accessControl, addLifecycleListener, associate, checkUserData, findConstraint, findLifecycleListeners, generateSessionId, getAlgorithm, getCache, getContainer, getDebug, getDigest, getDisableProxyCaching, getEntropy, getRandom, getRandomClass, getSession, getSession, invoke, log, log, reauthenticateFromSSO, register, removeLifecycleListener, setAlgorithm, setCache, setContainer, setDebug, setDisableProxyCaching, setEntropy, setRandomClass`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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(HttpRequest request,
                                HttpResponse response,
                                LoginConfig config)
                         throws java.io.IOException

  Authenticate the user by checking for the existence of a certificate chain (which should have been made visible by an instance of `CertificatesValve</code), and optionally asking a trust manager to validate that we trust this user. <P>`
  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-2002 Apache Software Foundation. All Rights Reserved.